2017-04-22 84 views
-2

我不确定13136436720872065是什么格式,所以我把它除以10直到解决 - 但现在我所有的答案都是从2011年开始的,尽管我知道时间戳不应该是!为什么从2011年的所有这些时间戳?

>>> time.gmtime(13136436720872065/10**7) 
time.struct_time(tm_year=2011, tm_mon=8, tm_mday=18, tm_hour=5, tm_min=1, tm_sec=12, tm_wday=3, tm_yday=230, tm_isdst=0) 
+0

@Alnitak其实我知道确切的原因,回答我的问题,而你发布那 –

+0

是的,所以我看到了,但作为一个问题,这是摆在相当糟糕。如果没有证据,或者对于你认为正确的时间应该是什么的建议,那么其他任何人都不可能产生答案。 – Alnitak

+0

这是[Epoch]中的差异(https://en.wikipedia.org/wiki/Epoch_(reference_date)#Notable_epoch_dates_in_computing) –

回答

-1

要转换的时间戳实际上是Windows时间戳,而不是unix时间戳。自1970年1月1日,

  • 的Unix时间戳以秒为单位有时你会遇到毫秒(X1000)作为格式为好。
  • 的Windows时间戳以毫秒为单位自1月1日给出的1600

正确的转换是:

>>> datetime.datetime(1601,1,1) + datetime.timedelta(microseconds=13136436720872065) 
datetime.datetime(2017, 4, 12, 2, 12, 0, 872065) 
+0

以及该测试在哪些语言中执行? – Alnitak

相关问题