在存储到DB之前将datetime转换为UTC?

时间:2014-05-15 11:19:51

标签: python django datetime timezone

我有一个适用于多个时区的应用。我需要该应用程序能够说“在2015年4月12日晚上10点执行此操作,在America/New York时区,并且每30天重复一次。” (和类似的)。

如果我在PST中获得用户的日期时间,我应该在转换为UTC后将日期时间存储在数据库中吗?

优点:易于管理,数据库中的每个日期时间均为UTC。 缺点:不能在帐户中使用DST。 (我想)。

2 个答案:

答案 0 :(得分:1)

你的意思是UTC?

数据库应该处理有关时间/时区的所有逻辑。 您需要为数据库提供正确的时区,然后数据库将其存储并将其提供给客户端以获取所请求的时区。 例如postgresql中的类型:here

你的数据库是什么?

答案 1 :(得分:1)

是的,您应该以UTC格式存储数据库中的所有内容。

我不知道为什么你说你无法应付夏令时。相反,任何好的时区库 - 例如pytz - 都能够在任何时区将UTC转换为正确的时间,并将DST考虑在内。