为什么我的 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
。
任何人都可以向我解释我做错了什么吗?
这应该可以,但我无法解释原因:
timestamp = datetime.datetime.strptime('2020-02-13T15:36:06.0453079Z', '%Y-%m-%dT%H:%M:%S.0%fZ')
显然,Python 不支持解析时区的 'Z' 标识符。参见例如https://discuss.python.org/t/parse-z-timezone-suffix-in-datetime/2220.
此外,您的秒数也有太多小数位:%f
指令解析微秒,但您转到微秒的 1/10(即 7 位小数)。删除最后的 9,并将 'Z' 替换为例如'UTC',您的字符串将解析:
>>> 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.%f%Z')
给我错误:
time data '2020-02-13T15:36:06.0453079Z' does not match format '%Y-%m-%dT%H:%M:%S.%f%Z'
我已经导入了datetime
。
任何人都可以向我解释我做错了什么吗?
这应该可以,但我无法解释原因:
timestamp = datetime.datetime.strptime('2020-02-13T15:36:06.0453079Z', '%Y-%m-%dT%H:%M:%S.0%fZ')
显然,Python 不支持解析时区的 'Z' 标识符。参见例如https://discuss.python.org/t/parse-z-timezone-suffix-in-datetime/2220.
此外,您的秒数也有太多小数位:%f
指令解析微秒,但您转到微秒的 1/10(即 7 位小数)。删除最后的 9,并将 'Z' 替换为例如'UTC',您的字符串将解析:
>>> 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)