Django模板渲染时间不正确
我需要在两个不同的时区中显示datetime对象。在后端,我使用Django模板渲染时间不正确,django,django-templates,Django,Django Templates,我需要在两个不同的时区中显示datetime对象。在后端,我使用astimezone()更改原始datetime tzinfo,代码如下: print("event.date_start: %s" % event.date_start) print("event.date_start.hour: %s" % event.date_start.hour) print("event.date_start.tzinfo: %s" % even
astimezone()
更改原始datetime tzinfo,代码如下:
print("event.date_start: %s" % event.date_start)
print("event.date_start.hour: %s" % event.date_start.hour)
print("event.date_start.tzinfo: %s" % event.date_start.tzinfo)
user_timezone = pytz.timezone("America/Guayaquil")
print("user_timezone: %s" % user_timezone)
event_user_timezone = event.date_start.astimezone(user_timezone)
print("event_user_timezone: %s" % event_user_timezone)
print("event_user_timezone.hour: %s" % event_user_timezone.hour)
此代码正确打印日期时间,event.date\u start
为UTC时间,18小时-event\u user\u时区
为“America/Guayaquil”,13小时
但是,在呈现html时,使用以下代码:
<p class="text-muted font-weight-bold" >
{{ event.date_start|date:"h:i A" }} ({{ owner_profile.timezone }})
</p>
<p class="text-muted font-weight-bold">
{{ event_user_timezone|date:"h:i A" }} {{ logged_user_profile.timezone }}
</p>
{{event.date_start|date:{h:ia}}({{owner_profile.timezone}})
{{event_user_timezone}日期:“h:ia”}{{{logged_user_profile.timezone}}
这两个时间均显示为下午6点。为什么?日期筛选器专门设计用于撤消您所做的操作,因为它标记为“expects\u localtime”,然后转到
django.utils.timezone.template\u localtime
您不必执行视图中的操作,相反,您应该使用日期过滤器和标记,然后为给定块设置正确的时区
{%timezone所有者\u profile.timezone%}
{{event.date_start|date:{h:ia}}({{owner_profile.timezone}})
{%endtimezone%}
{%timezone logged_user_profile.timezone%}
{{event.date_start|date:“h:ia”}{{{{logged_user_profile.timezone}}
{%endtimezone%}
日期筛选器专门设计用于撤消您所做的操作,因为它标记为“expects\u localtime”,然后转到django.utils.timezone.template\u localtime
您不必执行视图中的操作,相反,您应该使用日期过滤器和标记,然后为给定块设置正确的时区
{%timezone所有者\u profile.timezone%}
{{event.date_start|date:{h:ia}}({{owner_profile.timezone}})
{%endtimezone%}
{%timezone logged_user_profile.timezone%}
{{event.date_start|date:“h:ia”}{{{{logged_user_profile.timezone}}
{%endtimezone%}
您是否将使用\u L10N
设置为真
?是否将使用\u L10N
设置为真
?
<p class="text-muted font-weight-bold" >
{{ event.date_start|date:"h:i A" }} ({{ owner_profile.timezone }})
</p>
<p class="text-muted font-weight-bold">
{{ event_user_timezone|date:"h:i A" }} {{ logged_user_profile.timezone }}
</p>