簡體   English   中英

為什么我的python函數無法格式化日期時間?

[英]Why does my python function fail to format the datetime?

我已經閱讀了許多類似的問題,但我無法弄清楚為什么我的日期時間無法解析。 一切似乎都是正確的。 我已經檢查了幾次是否有錯別字。

代碼行:

timestamp = datetime.datetime.strptime('2020-02-13T15:36:06.0453079Z', '%Y-%m-%dT%H:%M:%S.%f%Z')

給我錯誤:

time data '2020-02-13T15:36:06.0453079Z' does not match format '%Y-%m-%dT%H:%M:%S.%f%Z'

我已經導入了datetime

任何人都可以向我解釋我做錯了什么嗎?

顯然,Python 不支持解析時區的“Z”標識符。 參見例如https://discuss.python.org/t/parse-z-timezone-suffix-in-datetime/2220

此外,你的秒數也有太多的十進制數字: %f指令解析微秒,但你去 1/10 微秒(即 7 位小數)。 刪除最后 9 個,並用例如 'UTC' 替換 'Z',您的字符串將解析:

>>> datetime.datetime.strptime('2020-02-13T15:36:06.045307UTC', '%Y-%m-%dT%H:%M:%S.%f%Z')
datetime.datetime(2020, 2, 13, 15, 36, 6, 45307)

這應該有效,但我無法解釋原因:

timestamp = datetime.datetime.strptime('2020-02-13T15:36:06.0453079Z', '%Y-%m-%dT%H:%M:%S.0%fZ')

暫無
暫無

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

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