首页 > 解决方案 > 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() 中,因此它在从数据库中获取数据时将时间作为字符串提供。

我怎样才能将其转换为实际时间。

标签: python

解决方案


您需要考虑“T”,我不知道如何匹配“+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-%dT%H:%M:%S.%f+00:00')

推荐阅读