python - 将时区感知字符串转换为日期时间 python,其格式类似于 '2012-11-01T04:16:13.000Z'
问题描述
我偶然发现了一个编码问题,我必须将时区感知字符串转换2021-11-01T02:08:13.000Z
为 Python 日期时间对象。
我已经看到很多例子,其中时区感知字符串就像格式一样2012-11-01T04:16:13-04:00
,但对我来说,你可以看到字符串与末尾的“.000Z”略有不同。
我尝试了以下代码:
from datetime import datetime
format = '%Y-%m-%dT%H:%M:%S%z'
time='2012-11-01T04:16:13.000Z'
date_time_obj = datetime.strptime(time, format)
print ("date",date_time_obj)
但我得到了错误:
ValueError: time data '2012-11-01T04:16:13.000Z' does not match format '%Y-%m-%dT%H:%M:%S%z'
也试过这样做:
from datetime import datetime
time='2012-11-01T04:16:13.000Z'
date_time_obj = datetime.fromisoformat(time)
但我收到了这个错误:
Errpr: Invalid ISO format string:
我浏览了很多页面,但无法找到该特定格式以及如何将其转换为可识别日期时间的字符串。任何人都可以请帮忙。
解决方案
您可以使用'dateutil.parser.isoparse'完成所有这些操作。无需去除信息(减少毫秒),无需对格式化字符串大惊小怪。
from dateutil import parser
time='2012-11-01T04:16:13.000Z'
date_time_obj = parser.isoparse(time)
print ("date",date_time_obj)
> date 2012-11-01 04:16:13+00:00
推荐阅读
- flutter - 如何在课堂上显示 SnackBar
- python-3.x - ModuleNotFoundError:python 中没有名为“pixelengine”的模块
- opencv - 显示 UDP 组播 Rawvideo 流
- flutter - SafeArea 在模态底页中被忽略
- reactjs - 为什么我没有使用 redux 获得实际状态?
- ios - 从 forEach 列表中的 URL 获取图像的 Swift 问题
- django - 将默认图像设置为模型中的 CloudinaryField
- git - 使用 gitflow 工作流程,分支是如何工作的?
- javascript - React-Native 应用程序上的 SectionList 标题和搜索的通用背景图像
- postgresql - 初学者别名