我有一些来自数据库的时间戳数据,我需要将其转换为Python datetime
(tuple
格式)。我怎么能这样做?
例如,我需要将 2013-04-16 16:31:35.649 + 05:30 格式转换为 datetime(2013,4,16,16,31,35)
我正在尝试执行Django项目的新用户注册部分,每当用户提交数据和注册时,他都会收到验证邮件,但每当用户点击验证链接时,就会产生以下错误:
无法比较offset-naive和offset-aware
datetimes
答案 0 :(得分: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(偏移 - 天真)。
如果要存储没有tzinfo的datetime对象,请将其存储在UTC中。
世界上大部分地区都使用夏令时,这使得一些偏移的天真日期时间不明确。 UTC没有这些问题。