Django:使用模板标记将UTC转换为时区感知

19 浏览
0 Comments

Django:使用模板标记将UTC转换为时区感知

我有一个 DateField() 的 start_date 在utc时区下。我想将它转换成时区感知的对象。

我尝试写了

 {{ start_date|timezone:'Asia/Calcutta' }}

它什么也没有显示出来。时区只适用于 DateTimeField() 吗?我该如何在 DateField() 上使用它。

admin 更改状态以发布 2023年5月21日
0
0 Comments

是的,不幸的是,这只适用于datetime对象(请参见https://github.com/django/django/blob/abaf0ab4a444977dc8ac07b9b63256814c352245/django/templatetags/tz.py#L46)。

据我所知,没有真正的方法可以使date对象具有时区感知能力。您可以将date对象转换为datetime(请参见https://stackoverflow.com/a/1937636/246028)。

如果您告诉我们通过使日期具有时区感知能力来实现什么,我可以尝试修改我的答案。

0