python - 为什么 GPS 时间和日期之间存在差异
问题描述
我在将其解码Date(1561525200000-0500)
为可读日期时遇到了一些麻烦。应该是10-10-2017
。我用蟒蛇。
datetime.datetime.utcfromtimestamp(1561525200000/1000)
结果是
datetime.datetime(2019, 6, 26, 5, 0)
我不知道是什么问题。预期日期和实际日期之间存在差异。
那么这个日期格式是什么?是否有任何格式不是 GPS 时间但有效?我已经找到了一些,但没有任何效果。它让我疯狂。
解决方案
这是一种解析 UTC 偏移量的方法 - 根据偏移量的符号拆分并相应地解析:
import re
from datetime import datetime, timezone, timedelta
datestring = '1561525200000-0500'
parts = re.split('(\+|\-)', datestring)
if len(parts) > 1:
dt = datetime.fromtimestamp(float(parts[0])/1e3,
tz=timezone(timedelta(hours=int(''.join(parts[1:])[:3]),
minutes=int(parts[-1][2:]))))
else: # string contains no UTC offset...
dt = datetime.fromtimestamp(float(parts[0])/1e3, tz=timezone.utc)
# dt
# datetime.datetime(2019, 6, 26, 0, 0, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=68400)))
推荐阅读
- python - 从给予者角落生成地理坐标
- java - 我已经为 servlet 设置了 tomcat 的类路径,但是我的程序找不到符号错误请给我解决方案
- php - 将具有特定值的元素移动到维度数组的末尾
- c# - NodeJs 插件宽度 C++/CLI 和 C# 程序集我无法让它运行
- php - PHP如何为在while循环上为每一行创建的按钮生成唯一名称
- java - 无法使用 JDBC 将数据插入 MsSQL
- apache-spark - 如何在不遇到 OOM 的情况下在 Apache Spark 中进行总排序?
- android - intel Haxm 正在运行,但 android studio 3.6 无法识别
- php - 在 VS 代码中,PHP 文件无法在实时服务器上运行
- sql-server - sql server 快速增长表的方法