我无法将UTC时间转换为EST时间。我已经在我的服务器shell中成功完成了它,但是当我在我的视图中执行完全相同的操作时,它会继续打印UTC时间,不知道我缺少什么。
views.py
from django.utils import timezone
import pytz
def today():
today_utc = timezone.now()
est = pytz.timezone('US/Eastern')
return today_utc.astimezone(est)
def projections(request):
todays_date = today()
context = {'todays_date':todays_date}
return render(request, 'index.html', context)
在我的模板中我只做一个简单的{{todays_date}},但它会继续打印出UTC时间。
更新: 添加时区模板标签可以解决这个问题,但我认为我的功能可以解决这个问题。仍然有兴趣知道我做错了什么......
{% load tz %}
{% timezone "US/Eastern" %}
{{todays_date}}
{% endtimezone %}
答案 0 :(得分:0)
您需要从settings.py
设置时区。
USE_TZ = False
TIME_ZONE = 'US/Eastern'
答案 1 :(得分:0)
您需要为用户设置当前时区以获取转换时间。执行此操作的Django documentation provides an example middleware。
答案 2 :(得分:-1)