gpt4 book ai didi

python - Django 1.4 和时区

转载 作者:太空狗 更新时间:2023-10-30 02:22:31 25 4
gpt4 key购买 nike

在 django 文档中,写到它们始终可以将日期时间对象存储在设置中提供的 TIME_ZONE 中。

我想问的是,仅对时间感知对象进行日期设置就足够了吗,还是我们必须将它们转换为 TIME_ZONE 设置?即,如果我的 TIME_ZONE = "America/Los_Angeles"和 USE_TZ = True,并且我尝试保存一个处于“UTC”中的时区感知对象,这会起作用吗?也就是说,django 会在保存到数据库之前将该“UTC”时区对象转换为“America/Los_Angeles”吗?

最佳答案

我相信使用 USE_TZ = True django 会以 UTC 将所有内容保存到数据库中。每个 DateTime 对象都必须知道时区才能保存。当 django 从数据库中检索日期时间时,它会自动将其从 UTC 更改为设置中 TIME_ZONE 指示的时区中的感知时间。

因此,为了回答您的问题,如果您有 UTC 时区感知日期时间(比如 19:00)并保存它,它将作为 19:00 保存到数据库中。当您检索它时,django 将在“America/Los_angelos”中使其识别 TZ,因此日期时间现在为 12:00。

您还可以通过调用

覆盖设置中的当前时区设置
from django.utils import timezone
timezone.activate('US/Central')

关于python - Django 1.4 和时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10078822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com