首页 > 解决方案 > Django 时区 ET 而不是 EST/EDT

问题描述

我应该使用什么时区值,或者我应该怎么做才能显示“ET”而不是“EST”或“EDT”?此外,我正在使用 pytz 来执行我的功能。谢谢。

设置.py:

#currently this shows "EDT"
TIME_ZONE = 'US/Eastern'

#where this shows "EST"
TIME_ZONE = 'America/Cancun'

post_template.html:

#outputs Oct 30,2018, 5:38AM/EST
{{post.modified|date:"M d,Y, g:iA/e"}} 

标签: pythondjangotimezonepytz

解决方案


如果您只想显示“ET”,您可能需要自己执行此操作,因为 EST 和 EDT 可能是显示默认值。不过,您可能不应该这样做,因为 ET 会模棱两可。

如果您需要时区遵守 DST,您可能需要 America/New_York。虽然 EST5EDT 将遵守东部时间的 DST,但America/New_York 似乎是该名称的规范替代品。从该列表中,您可以看到 US/Eastern 使用相同的 DST 调整,但它也已被弃用,将 America/New_York 列为规范。

America/Cancun 不使用 DST,因此将始终显示 EST。

编辑:明确回答问题: TIME_ZONE = 'America/New_York' 用于正确显示时区信息,因为 ET 不是东部时间(EST 或 EDT)当前偏移量的完整描述。


推荐阅读