python - 如何将字符串 ['2019-06-01T23:07:02.000+0000' ] 转换为 Python 3 中的日期时间对象

标签 python python-3.x datetime strptime

我从 JSON 对象获取以下格式的日期时间字符串,我想将它转换为 Python 中的日期时间对象,以便我可以在我的代码中使用它。

'2019-06-01T23:07:02.000+0000'

如您所见,上面的字符串包含毫秒,我无法在 strptime 方法中找到它的格式化程序。

datetime.strptime(incOpenTime, '%Y-%m-%dT%H:%M:%S.%fZ') #this works only against microseconds

我可以解析字符串并将其提供给 datetime 对象,但我希望使用直接的 strptime 格式。

最佳答案

您可能希望将格式化程序字符串更改为 '%Y-%m-%dT%H:%M:%S.%f%z

In [25]: datetime.strptime('2019-06-01T23:07:02.000+0000','%Y-%m-%dT%H:%M:%S.%f%z')                                                                                           
Out[25]: datetime.datetime(2019, 6, 1, 23, 7, 2, tzinfo=datetime.timezone.utc)

或者您可以使用 datetutil.parser同样,不需要你提供格式字符串

'2019-06-01T23:07:02.000+0000'
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-d8d1b2eea17c> in <module>
----> 1 from datetutil import parser

ModuleNotFoundError: No module named 'datetutil'

In [2]: from dateutil import parser                                                                                                                                                    
In [4]: parser.parse('2019-06-01T23:07:02.000+0000')                                                                                                                                   
Out[4]: datetime.datetime(2019, 6, 1, 23, 7, 2, tzinfo=tzutc())

关于python - 如何将字符串 ['2019-06-01T23:07:02.000+0000' ] 转换为 Python 3 中的日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56414742/

相关文章:

python - 跟踪 celery.group 任务的进度?

python - 复制numpy数组的速度

python - 我如何在不事先下载和转换的情况下将音频从 pytube 流式传输到 FFMPEG 和 discord.py

datetime - 带时间戳的批处理 For 循环

c# - 使用 C# 从 DateTime 获取日期

c#-4.0 - JavaScriptSerializer从日期减去一天

python - 删除重复项的解决方案?

python - 如何嗅探 Wi-Fi AP 名称和关联设备

python - 删除Python中集合的最后一个元素

python - 如何有效地在 REST 序列化程序中找到相关字段的数据库?