关于Django显示时间你应该知道的一些问题
UTC与DST
UTC可以视为一个世界统一的时间,以原子时为基础,其他时区的时间都是在这个基础上增加或减少的,比如中国的时区就为UTC+8。
DST(夏时制)则是为了充分利用夏天日照长的特点,充分利用光照节约能源而人为调整时间的一种机制。通过在夏天将时间向前加一小时,使人们早睡早起节约能源。虽然很多西方国家都采用了DST,但是中国不采用DST。
1. 时区问题
首先是时区的问题,Django 默认使用的是 UTC 世界协调时,又叫世界统一时间。中国的时间与 UTC 的时差是+8小时,也就是中国时间=UTC+8。
若使用 TIME_ZONE = 'UTC',则模板中显示的时间就是读取到的时间。
若使用 TIME_ZONE = 'Asia/Shanghai' ,则模板中显示的时间就是读取到的时间+8。
如图1和图2所示。

图1 TIME_ZONE = 'Asia/Shanghai'

图2 TIME_ZONE = 'UTC'
2. 时间在模板中的显示问题
在数据库中,时间是这样显示的2017-07-09 11:50:30
假设这个时间我们用变量time表示。
第一种:
模板:{{ time }}
settings中的语言编码: LANGUAGE_CODE = 'en-us'
渲染出来的格式: July 9, 2017, 11:50 a.m.
第二种
模板:{{ time }}
settings中的语言编码: LANGUAGE_CODE = 'zh-Hans'
渲染出来的格式: 2017年7月9日 11:50
第三种
模板: {{ time|date:"Y-m-d H:i:s" }}
settings中的语言编码: 以上两种皆可
渲染出来的格式: 2017-07-09 11:50:30
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
相关文章
Python实现批量读取HDF多波段栅格数据并绘制像元直方图
这篇文章主要为大家详细介绍了如何基于Python语言gdal模块,实现多波段HDF栅格图像文件的读取、处理与像元值可视化(直方图绘制)等操作,需要的可以参考一下2023-03-03
使用python查找替换PowerPoint演示文稿中的文本
演示文稿已成为商务会议、学术报告和教育培训中不可或缺的一部分,而PowerPoint演示文稿作为行业标准工具,更是承载着无数创意与信息的载体,本文将介绍如何使用Python来精确查找并替换PowerPoint演示文稿中的文本,需要的朋友可以参考下2024-07-07
Python 窗体(tkinter)下拉列表框(Combobox)实例
这篇文章主要介绍了Python 窗体(tkinter)下拉列表框(Combobox)实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-03-03


最新评论