所以基本上我有一个获取UNIX时间的公式,但是我在Ubuntu机器上得到10800而不是0(在我的mac中它工作得很好):
datetime.datetime(*time.strptime("01.01.1970","%d.%m.%Y")).timestamp()
>> 10800.0
我见过几个不同的问题,但没有一个给我带来任何见解。
我认为这不是时区问题,因为:
datetime.datetime(time.strptime("01.01.1970.UTC", "%d.%m.%Y.%Z").timestamp()
>> 10800.0
答案 0 :(得分:1)
此 是时区问题。依赖于posix time.strptime
的{{1}}会在所有情况下返回本地时间。
请仔细阅读strptime
的文档,您会注意到,虽然strptime
支持格式字符,但“字段已解析,但 %Z
中没有字段已更改“
一般来说,支持tm
的{{1}}的posix实现只支持strptime
,%Z
或系统UTC
的值(可用)在GMT
的python中。但是它不会改变基于它们的返回值。
答案 1 :(得分:-2)
UNIX时间完全取决于时区,您可以在此处找到明确答案en.wikipedia.org