簡體   English   中英

無法將Epoch值轉換為人類可讀日期格式python

[英]Unable to convert Epoch value to Human readable date format python

我試圖使用Python版本3轉換Epoch值-2208988800000

我已經嘗試過在線工具轉換https://www.epochconverter.com/所以我得到輸出為1 / Jan / 1900。

import datetime
datetime.datetime.fromtimestamp(-2208988800000 / 1000).strftime('%c')

---------------------------------------------------------------------------
OSError
Traceback (most recent call last)
  <ipython-input-15-abaf34dc5003> in <module>()
----> 1 datetime.datetime.fromtimestamp(-2208988800000 / 1000).strftime('%c')

OSError: [Errno 22] Invalid argument

fromtimestamp行為取決於平台。 我在Windows 10上,負值不受支持。

文檔中摘錄:

如果時間戳超出平台C localtime()或gmtime()函數支持的值范圍,則fromtimestamp()可能引發ValueError。 這種情況通常限於1970年至2038年。

>>> from datetime import datetime as dt
>>> dt.fromtimestamp(-1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument

我不能重現你的問題; 我在Ubuntu 18.04上使用Python 3.6並獲得此輸出(因為我的時區可能略有不同):

>>> import datetime
>>> datetime.datetime.fromtimestamp(-2208988800000 / 1000).strftime('%c')
'Sun Dec 31 20:09:20 1899'
>>> datetime.datetime.fromtimestamp(-2208988800000 / 1000)
datetime.datetime(1899, 12, 31, 20, 9, 20)

使用你在問題中提到的轉換器,這似乎是正確的:

截圖


fromtimestamp()文檔說任何OSError來自time.localtime()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM