我使用orator在数据库表中存储created_at时间戳。当我检索此时间戳(job.created_at)时,它看起来像这样。 2019-08-16T10:36:03.562908 + 00:00
我需要将其转换为16-08-2019
我尝试过datetime.datetime
ts = str(job.created_at)
f = '%Y-%m-%d %H:%M:%S'
print(datetime.datetime.strptime(ts, f))
这是期望%Y-%m-%d%H:%M:%S,但是正在通过2019-08-16T10:36:03.562908 + 00:00,所以我得到了格式不匹配的错误。 / p>
我忘记了Python中处理日期的技巧。有相当于php的Carbon包吗?
我们将不胜感激任何帮助。
答案 0 :(得分:1)
如果只需要转换字符串,请尝试将数据切成所需的格式:
unformatted_date = '2019-08-16T10:36:03.562908+00:00'
formatted_date = unformatted_date[8:10] + '-' + unformatted_date[5:7] + '-' + unformatted_date[:4]
如果要使用日期时间:
import datetime
unformatted_date = '2019-08-16T10:36:03.562908+00:00'
my_date = datetime.datetime.strptime('2019-01-04T16:41:24+0200', "%Y-%m-%dT%H:%M:%S%z")
formatted_date = my_date.strftime('%d-%m-%Y')
来源: