簡體   English   中英

UTC ISO 8601日期的時間戳

[英]Timestamp to UTC ISO 8601 date

這個

import datetime
datetime.datetime.fromtimestamp(1501545600).isoformat()

應該輸出2017-08-01T00:00:00Z2017-08-01T00:00:00但我得到

2017-08-01T02:00:00

相反,可能是因為當地時區。

如何使.isoformat()改為輸出UTC時間,即2017-08-01T00:00:00

如果可能的話,我只想使用datetime ,不要使用任何其他第三方庫,例如arrowdateutils

使用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.

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