用于将字符串数据转换为基于UTC的datetim的Datetime格式

2024-10-04 01:25:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个日期数据:

timestamp="2016-11-01T18:18:46.5035795Z"

我正在寻找一个正确的dtfmt,这样我就可以将上面的数据转换成一个适当的datatime值,并将UTC设置为时区(tzinfo)

dt = datetime.datetime.strptime(timestamp, dtfmt)

有人能帮忙吗?谢谢


Tags: 数据datetimedttimestamputctzinfostrptimedatatime
1条回答
网友
1楼 · 发布于 2024-10-04 01:25:05

dateutil模块非常适合这种情况

pip install python_dateutil

然后呢

>>> from dateutil import parser
>>> parser.parse(timestamp)
datetime.datetime(2016, 11, 1, 18, 18, 46, 503579, tzinfo=tzutc())

如果没有dateutil模块,则必须使用regex去掉字符串微秒部分的多余字符,然后使用与字符串匹配的正确日期格式将其转换为datetime对象

>>> import re
>>> timestamp = re.findall('.*[0-9]{6}', timestamp)[0] + 'Z'
>>> datetime.strptime(timestamp, '%Y-%m-%dT%H:%M:%S.%fZ')
datetime.datetime(2016, 11, 1, 18, 18, 46, 503579)

相关问题 更多 >