[英]Timestamp to UTC ISO 8601 date
這個
import datetime
datetime.datetime.fromtimestamp(1501545600).isoformat()
應該輸出2017-08-01T00:00:00Z
或2017-08-01T00:00:00
但我得到
2017-08-01T02:00:00
相反,可能是因為當地時區。
如何使.isoformat()
改為輸出UTC時間,即2017-08-01T00:00:00
?
如果可能的話,我只想使用datetime
,不要使用任何其他第三方庫,例如arrow
或dateutils
。
使用utcfromtimestamp()
而不是fromtimestamp()
。 從文檔 :
返回與POSIX時間戳相對應的UTC日期時間,並使用tzinfo None。
在fromtimestamp()
未指定tzinfo:
如果可選參數tz為None或未指定,則時間戳將轉換為平台的本地日期和時間,並且返回的datetime對象是天真的。
似乎不是您想要的。
那不應該是datetime.utcfromtimestamp()
嗎?
從python文檔:
classmethod datetime.utcfromtimestamp(timestamp)¶返回與POSIX時間戳相對應的UTC日期時間,其中tzinfo為None。 如果時間戳超出平台C gmtime()函數支持的值范圍,則可能會引發ValueError。 通常將其限制在1970年到2038年之間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.