首页 > 解决方案 > 我需要将时间戳从 mysql (2019-08-16T10:36:03.562908+00:00) 转换为 06-08-2019

问题描述

我使用 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 所以我得到一个格式不匹配错误。

我忘记了在 Python 中处理日期是多么棘手。是否有相当于 php 的 Carbon 包?

任何帮助将不胜感激。

标签: mysqlpython-3.xdatetime

解决方案


如果您只需要转换字符串,请尝试将数据切片为您想要的格式:

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')

资料来源:


推荐阅读