在运行时设置Django时区

时间:2019-01-10 20:28:51

标签: python django

虽然我的设置文件中的默认时区为UTC,但有时我需要覆盖该时区。如果不使用pytz之类的东西,就可以在运行时设置tza。例如:

from django.utils import timezone
tz = 'America/New_York' 
now = timezone(tz).now() # in pseudocode

有没有办法实现以上目标?

2 个答案:

答案 0 :(得分:2)

您的设置的时区为default time zone,但根据 Default time zone and current time zone ,您可以将current time zone .activate()一起使用

希望有帮助。 :)

答案 1 :(得分:2)

在此处使用activate方法:

from django.utils import timezone
tz = 'America/New_York' 
timezone.activate(pytz.timezone(tz))
now = timezone.now()

https://docs.djangoproject.com/en/2.1/topics/i18n/timezones/