【发布时间】:2010-10-15 22:42:26
【问题描述】:
像个白痴一样,当我第一次构建收集日期时间数据的应用程序时,我完全忽略了时区设置。
那时这不是问题,因为我所做的只是“时间以来”的风格比较和排序。现在我需要做完整的报告来显示实际的日期时间,当然,它们都存储在 America/Chicago(可笑的 Django 默认)。
所以是的。我有一个中型数据库,里面全是这些不正确的日期。我想将 settings.TIME_ZONE 更改为 'UTC' 但这对我现有的数据没有帮助。
将所有模型数据整体转换的最佳(阅读:最简单、最快)方法是什么?
(所有数据都是过去两个月内的数据,所以还好没有夏令时转换)
这个项目目前在 SQLite 上,但我在 PostgreSQL 上有另一个项目,有一个类似的问题,我可能想在 DST 开始之前做同样的事情......所以理想情况下是一个与 DB 无关的答案。
【问题讨论】:
-
顺便说一句,您使用的是什么数据库?
-
SQLite 但完全有可能我想在另一个我使用 Postgres 的项目上做同样的事情......与 DB 无关的东西是理想的 =)
-
SQLite 将所有内容存储为文本。然而,一些数据库在内部以 UTC 存储日期时间。例如,Oracle 将数据库中的 UTC 转换为本地时间。您无需更新任何内容即可更改显示的本地时间。
标签: python django timezone database-agnostic pytz