[英]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.