Python时间转换

时间:2013-04-16 12:15:38

标签: python django

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

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

我正在尝试执行Django项目的新用户注册部分,每当用户提交数据和注册时,他都会收到验证邮件,但每当用户点击验证链接时,就会产生以下错误:

  

无法比较offset-naive和offset-aware datetimes

1 个答案:

答案 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没有这些问题。