python将字符串转换为django时间格式的日期时间

时间 = "2019-02-20T04:35:48.679000+00:00"


>>> import datetime

>>> 

>>> date_time_str = "2019-02-20T04:35:48.679000+00:00"

>>> date_time_obj = datetime.datetime.strptime(date_time_str, '%Y-%m-%d %H:%M:%S.%f')


Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "/usr/lib/python3.5/_strptime.py", line 510, in _strptime_datetime

    tt, fraction = _strptime(data_string, format)

  File "/usr/lib/python3.5/_strptime.py", line 343, in _strptime

    (data_string, format))

ValueError: time data '2019-02-20T04:35:48.679000+00:00' does not match format '%Y-%m-%d %H:%M:%S.%f'

时间为 Django 格式时间。不幸的是,我将相同的内容存储在 CharField() 中,因此它在从数据库中获取数据时以字符串形式提供时间。


我如何将其转换为实际时间。


哆啦的时光机
浏览 286回答 2
2回答

UYOU

您需要考虑“T”,我不知道如何匹配“+00:00”部分,除非它只是一个始终为该值的文字。所以这有效:import datetimedate_time_str = "2019-02-20T04:35:48.679000+00:00"date_time_obj = datetime.datetime.strptime(date_time_str, '%Y-%m-%dT%H:%M:%S.%f+00:00')

紫衣仙女

尝试使用 python-dateutil安装它 pip install python-dateutil进而from dateutil import parserdt = parser.parse("2019-02-20T04:35:48.679000+00:00")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python