由于django的模板是属于服务端渲染,所以在我么使用django的template时很难使用js去将UTC时间转换为本地时间。
ps:并非不能转换,比如可以使用jquery操纵显示时间的DOM元素,这样也能实现,但是今天不讲这个方式。
在模板也的最顶部使用{% load tz %}
如果你的页面是继承了其他页面的话,需要先{% extends "your_template.html" %}
image.png
然后找到你要显示时间的地方,举个例子,我需要在table标签的<td>中显示时间。
原来是这么写的:
<td>{{ my_time }}</td>
那么,你需要改写成
<td>
{% timezone "your_time_zone" %}
your_local time: {{ my_time }}
{% endtimezone %}
</td>
your_time_zone:表示你所在的时区,中国内陆可以写"Asia/Shanghai"
your_local:可以写成Shanghai
然后,模板就变成下面的模样:
<td>
{% timezone "Asia/Shanghai" %}
Shanghai time: {{ my_time }}
{% endtimezone %}
</td>
顺便说一句,如果你要格式化时间,django template提供了管道工具,和linux中的管道类似,你不知道也没事,因为用法很简单。
还是上面的{{ my_time }}对象,你就可以写成:
{{ my_time|date:"Y-m-d H:i"}}
具体的格式化用法可以参照django官放文档,不做详细介绍。
网友评论