当前位置: 首页 > 知识库问答 >
问题:

Django 1.4和时区

姜志行
2023-03-14

在django文档中,它们总是可以将datetime对象存储在设置中提供的TIME_ZONE中。

我想问的是,对具有时间意识的对象进行日期标注就足够了,还是我们必须将它们转换为时区设置?例如,如果我的时区=“America/Los\u Angeles”并使用_TZ=True,并且我尝试保存一个时区感知对象,该对象位于“UTC”中,这会起作用吗?也就是说,django会在保存到db之前将“UTC”时区对象转换为“America/Los_Angeles”吗?

共有1个答案

潘宪
2023-03-14

我相信,使用USE\u TZ=Truedjango可以将所有内容保存到UTC中的DB中。每个DateTime对象都必须具有时区意识才能保存。当django从数据库检索日期时间时,它将自动将其从UTC更改为设置中由时区指示的已知时间。

所以为了回答你的问题,如果你有一个UTC时区感知日期时间(假设是19:00),并且你保存它,它将保存到数据库中为19:00。当你检索它时,django会在“美国/Los_angelos”中使它TZ感知,所以日期时间现在是12:00。

您还可以通过调用来覆盖设置中的当前时区设置

from django.utils import timezone
timezone.activate('US/Central')
 类似资料:
  • 我有一个使用百里香叶作为视图层的Spring Boot Web应用程序,我需要显示一些特定时区的日期(CET = UTC 1/UTC 2)。 服务器设置为UTC,所有日期都以UTC格式作为datetime存储在我的数据库中,这很好。 现在我想在我的超文本标记语言页面上显示这个日期,不是UTC格式,而是使用胸膜时序的CET,但它似乎不起作用。 date对象是一个Java Instant。 从 DB

  • 我正在开发一个带有MySQL数据库的Java应用程序,该数据库位于与我的服务器不同的时区,我正试图决定在我的数据库上使用DATETIME还是TIMESTAMP。 在阅读了诸如我应该使用字段'datetime'还是'TIMESTAMP'之类的问题,以及MySQL文档之后,我认为TIMESTAMP更适合我,因为它将值转换为UTC以存储,并返回到当前时区以进行检索。 此外,正如用户Jesper在本文中所

  • 问题内容: 我有一个使用IPDDump创建的Blackberry IPD备份中的CSV转储文件。这里的日期/时间字符串看起来像这样(澳大利亚时区): 我需要能够在Python中解析此日期。首先,我尝试开始使用该功能。 但是,由于某种原因,返回的对象似乎没有任何tzinfo关联。 我确实在该页面上阅读了显然是默默丢弃的内容,但是,我检查了文档,但找不到此处记录的任何效果。 我已经能够使用第三方库来解

  • 问题内容: 我正在尝试将时区系统集成到我的应用程序中,直到现在为止,我一直在努力避免制作时区感知的应用程序- 但是它是一项强制性要求,因此别无选择。TimeZones只是在我头上。我已经在PHP.net和其他站点(包括但不限于SO)上阅读了多个主题。但是我永远也无法掌握。 因此,我想知道是否有人可以在这里帮助我:(我想要做的是在我的应用程序中使用偏好选项,以允许用户从选择菜单中选择自己的时区,但是

  • 问题内容: 我正在使用JodaTime在Java应用程序中处理时区。尝试从Java时区的ID构建DateTimeZone(JodaTime)对象时遇到问题。乔达抛出 对于以下时区列表: SystemV / HST10 SystemV / YST9 SystemV / YST9YDT SystemV / PST8 SystemV / PST8PDT SystemV / MST7 SystemV /

  • 然后将变量持久化到MySQL表列中。 然而,虽然通过调试,我看到对象显示在正确的时区GMT+1,但在数据库上持久化时,它是一个GMT时区,所以要追溯一个小时。 使用函数返回一个GMT+1日期。 连接字符串为,没有任何参数。 编辑:找到这段代码