【发布时间】:2020-09-15 12:28:42
【问题描述】:
我想将datetime,即2019-06-05T10:37:29.353+0100,转换为Python3中的UTC时间戳。
我了解+0100 代表时区。为什么+0100、+0200和+0300都转换为相同的时间戳?
如何将包含时区的 datetime 转换为 UTC 时间戳?
>>> d=datetime.datetime.strptime('2019-06-05T10:37:29.353+0100', '%Y-%m-%dT%H:%M:%S.%f%z')
>>> unixtime = time.mktime(d.timetuple())
>>> unixtime
1559723849.0
>>> d=datetime.datetime.strptime('2019-06-05T10:37:29.353+0200', '%Y-%m-%dT%H:%M:%S.%f%z')
>>> unixtime = time.mktime(d.timetuple())
>>> unixtime
1559723849.0
>>> d=datetime.datetime.strptime('2019-06-05T10:37:29.353+0300', '%Y-%m-%dT%H:%M:%S.%f%z')
>>> unixtime = time.mktime(d.timetuple())
>>> unixtime
1559723849.0
【问题讨论】:
-
你可以直接使用日期时间对象的
timestamp()方法 -
顺便说一句。很遗憾fromisoformat 无法解析这个(尽管 ISO 8601 兼容)
标签: python python-3.x datetime