python - 我应该使用什么指令来解码这个带有 datetime.strptime 的日期字符串?
问题描述
我一直在使用以下指令来解码这个字符串。
datetime.strptime('2021-07-09T21:01:49.926811Z', '%Y-%m-%dT%H:%M:%S.%f%Z')
但我收到此错误消息:
ValueError:时间数据“2021-07-09T21:01:49.926811Z”与格式“%Y-%m-%dT%H:%M:%S.%f%Z”不匹配
什么是正确的格式?
解决方案
您必须将 '%Z' 替换为 'Z':
>>> datetime.strptime('2021-07-09T21:01:49.926811Z', '%Y-%m-%dT%H:%M:%S.%fZ')
datetime.datetime(2021, 7, 9, 21, 1, 49, 926811)
或使用fromisoformat
(并删除尾随 Z):
>>> datetime.fromisoformat(s[:-1])
datetime.datetime(2021, 7, 9, 21, 1, 49, 926811)
或者使用dateutil
最灵活的:
# from dateutil import parser
>>> parser.parse(s)
datetime.datetime(2021, 7, 9, 21, 1, 49, 926811, tzinfo=tzutc())
推荐阅读
- android - 在 Android Studio 中使用 Nexmo 进行手机验证
- java - 如何处理异步调用和传输信息
- ios - For-in 循环需要“[UserVehicles]?” 符合“顺序”;你的意思是解开可选的吗?迅速
- amazon-dynamodb - 这是一个糟糕的 DynamoDB 数据库架构吗?
- python - 如何计算模糊字符串匹配中的分数?
- flutter - TextFormField 的自定义控制器在焦点移除时清除输入的文本 - Flutter
- reactjs - 如何在没有身份验证的情况下让访客访问套接字?
- docker - 使用当前用户在 Docker 中获取 /root/.zshrc
- keras - DenseNet with Keras UnknownError:无法获得卷积算法
- python - assertLog 未捕获日志记录