我有一個 .txt 文件,其中包含字符串"2020-08-13T20:41:15.4227628Z" What format code should I use in strptimefunction in Python 3.7? 我嘗試了以下操作,但'8'之前的末尾'Z'不是有效的工作日from datetime import datetimetimestamp_str = "2020-08-13T20:41:15.4227628Z"timestamp = datetime.strptime(timestamp_str, '%Y-%m-%dT%H:%M:%S.%f%uZ')ValueError: time data '2020-08-13T20:41:15.4227628Z' does not match format '%Y-%m-%dT%H:%M:%S.%f%uZ'
2 回答

catspeake
TA貢獻1111條經驗 獲得超0個贊
您的時間戳格式主要符合ISO 8601,除了 7 位小數秒。
第 7 位數字是 1/10 微秒;通常,您的分辨率為 3、6 或 9 位(分別為毫秒、微秒或納秒)。
Z表示UTC

森欄
TA貢獻1810條經驗 獲得超5個贊
后面的 7 位數字.似乎是納秒數。您可能有一個特定于平臺的格式(由 定義strftime(3))可用來代替%f,但如果沒有,您最好的選擇是在嘗試將剩余字符串解析為時間戳之前刪除尾隨數字。
regex = "(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6}).(\d.*)"
if (m := re.match(regex, timestamp_str) is not None:
timestamp_str = "".join(m.groups())
timestamp = datetime.strptime(timestamp_str, '%Y-%m-%dT%H:%M:%S.%fZ')
添加回答
舉報
0/150
提交
取消