2017-04-22 82 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

相關問題