在Django中显示准确的当前时间和日期的最佳方法是什么?

Ras*_*iel 3 django

目前,我的方法涉及创建一个上下文处理器,然后在整个网站范 但是,我注意到我在解决夏令时变化时遇到了问题.我住在美国以外的BTW,我的服务器在美国,但它的时区是我的.但是,由于我们没有考虑夏令时,所以它总是比我当地时间早一个小时.

知道怎么解释这个吗?我过去曾使用过timedelta -1但不知何故我觉得这不是正确的解决方案.

Mic*_*rds 5

您在服务器上设置的时区在Django应用程序中无关紧要.Django将根据您在settings.py中设置的TIME_ZONE变量返回时间,而不是您在服务器上设置的内容.例如,一台服务器可以为多个Django供电的站点提供服务,每个站点都有一个单独的时区设置.

请参阅:http://docs.djangoproject.com/en/dev/ref/settings/#time-zone.

只需确保将TIME_ZONE变量设置为Zoneinfo名称(即America/Belize)而不仅仅是GMT-6,因为这不会考虑夏令时.使用Zoneinfo名称,Django将返回当时的夏令时识别版本.所以正确设置,你应该能够在Django应用程序中获得所需的时区.

{% now h:ia %}
Run Code Online (Sandbox Code Playgroud)

这将以早上9:30的格式返回时间.

  • 在这种情况下,他的时区可能应该是America/Belize (2认同)