2

我有一些来自数据库的时间戳数据,我需要将其转换为 Python datetimetuple格式)。我怎样才能做到这一点?

例如,我需要将2013-04-16 16:31:35.649+05:30格式转换为datetime(2013, 4, 16, 16, 31, 35)

我正在尝试做项目的 Django 新用户注册部分,每当用户提交数据并注册时,他都会收到一封验证电子邮件,但是每当用户点击验证链接时,它都会产生以下错误:

无法比较 offset-naive 和 offset-awaredatetimes

4

1 回答 1

3
from dateutil import parser

dt = parser.parse("2013-04-16 16:31:35.649+05:30")
# dt == datetime.datetime(2013, 4, 16, 16, 31, 35, 649000, tzinfo=tzoffset(None, 19800))

dt.astimezone(pytz.utc).replace(tzinfo=None)

返回datetime.datetime(2013, 4, 16, 11, 1, 35, 649000)在 UTC 中相同的时刻,并且没有 tzinfo(offset-naive)。

如果要存储没有 tzinfo 的日期时间对象,请将其存储为 UTC。

世界大部分地区使用夏令时,这使得一些偏移天真的日期时间模棱两可。UTC 没有这些问题。

于 2013-04-16T12:31:04.540 回答