更改现有Django项目的时区

时间:2009-03-27 13:48:37

标签: python django timezone database-agnostic pytz

就像白痴一样,当我第一次构建一个收集日期时间数据的应用程序时,我完全忽略了时区设置。

这不是问题,因为我所做的只是“时间 - 风格”比较和排序。现在我需要做完整的报告来显示实际的日期时间,当然,它们都存储在America / Chicago(荒谬的Django默认值)。

是的。我有一个中等大小的数据库,这些日期不正确。我想将settings.TIME_ZONE更改为'UTC',但这对我现有的数据没有帮助。

最好的(读取:最简单,最快捷)方式转换所有模型数据集成的方法是什么?

(所有数据均来自过去两个月内,所以谢天谢地,没有DST可以转换)

这个项目目前在SQLite上,但我在PostgreSQL上有另一个项目有类似的问题,我可能想在DST开始之前做同样的事情......所以理想情况下是一个与数据库无关的答案。

1 个答案:

答案 0 :(得分:3)

我会通过在日期时间字段中添加或减去小时来对数据库表进行批量更新。

这样的东西在SQL Server中工作,并且增加了2小时的日期:

update tblName set date_field = dateadd("hh", 2, data_field)