5

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

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

所以是的。我有一个中型数据库,里面全是这些不正确的日期。我想更改settings.TIME_ZONE为,'UTC'但这对我现有的数据没有帮助。

将所有模型数据整体转换的最佳(阅读:最简单、最快)的方法是什么?

(所有数据都是过去两个月内的数据,所以还好没有夏令时转换)

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

4

1 回答 1

3

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

像这样的东西在 SQL Server 中有效,并增加了 2 小时的日期:

update tblName set date_field = dateadd("hh", 2, data_field)
于 2009-03-27T14:11:29.670 回答