django模板timeuntil时区
我正在使用django模板呈现一些会议django模板timeuntil时区,django,django-templates,django-views,Django,Django Templates,Django Views,我正在使用django模板呈现一些会议 {% for meeting in m %} <td>{{ meeting.start|date:"j F Y, g:i A" }}</td> <td>{{ meeting.start|timeuntil }}</td> {% endfor %} 生成一个类似于 Time Requested Time Pending (hrs) 7 December 2019, 12:00
{% for meeting in m %}
<td>{{ meeting.start|date:"j F Y, g:i A" }}</td>
<td>{{ meeting.start|timeuntil }}</td>
{% endfor %}
生成一个类似于
Time Requested Time Pending (hrs)
7 December 2019, 12:00 AM 2 days
5 December 2019, 12:00 AM 12 minutes
4 December 2019, 11:00 PM 0 minutes
我的浏览器处于EST时间,api为UTC。开始时间以本地时间正确呈现。但是,timeuntil
倒计时不在本地时间中。是否有一个好的方法来实现期望的输出
到目前为止,我能想到的最好的方法是计算另一个datetime列,并应用客户端的时区差。然后模板可以简单地呈现
{{meeting.start|local | timeuntil}
一个可能的解决方案是计算一个字段start_local
,timeuntil
可以在utc时间呈现
# views.py
...
client_offset = datetime.timedelta(hours=-5)
start_time = datetime.datetime.now() + client_offset
m = Meeting.objects.filter(
start__gte=start_time, status=Meeting.PENDING
).order_by("-start")
for meeting in m:
meeting.start_local = meeting.start - client_offset
context = {
"m": m,
}
return render(request, "meetings/home.html", context)
模板
{% for meeting in m %}
<tr>
<td>{{ expert.start|date:"j F Y, g:i A" }}</td>
<td>{{ expert.start_local|timeuntil }}</td>
</tr>
{% endfor %}
{%用于m%中的会议]
{{专家.开始|日期:“j F Y,g:i A”}
{{expert.start_local | timeuntil}}
{%endfor%}
一种可能的解决方案是计算一个字段start\u local
,time,直到可以在utc时间内呈现
# views.py
...
client_offset = datetime.timedelta(hours=-5)
start_time = datetime.datetime.now() + client_offset
m = Meeting.objects.filter(
start__gte=start_time, status=Meeting.PENDING
).order_by("-start")
for meeting in m:
meeting.start_local = meeting.start - client_offset
context = {
"m": m,
}
return render(request, "meetings/home.html", context)
模板
{% for meeting in m %}
<tr>
<td>{{ expert.start|date:"j F Y, g:i A" }}</td>
<td>{{ expert.start_local|timeuntil }}</td>
</tr>
{% endfor %}
{%用于m%中的会议]
{{专家.开始|日期:“j F Y,g:i A”}
{{expert.start_local | timeuntil}}
{%endfor%}