关于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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • 关于Django显示时间你应该知道的一些问题

    UTC与DST UTC可以视为一个世界统一的时间,以原子时为基础,其他时区的时间都是在这个基础上增加或减少的,比如中国的时区就为UTC+8. DST(夏时制)则是为了充分利用夏天日照长的特点,充分利用光照节约能源而人为调整时间的一种机制.通过在夏天将时间向前加一小时,使人们早睡早起节约能源.虽然很多西方国家都采用了DST,但是中国不采用DST. 1. 时区问题 首先是时区的问题,Django 默认使用的是 UTC 世界协调时,又叫世界统一时间.中国的时间与 UTC 的时差是+8小时,也就是中国时

  • java采用中文方式显示时间的方法

    本文实例讲述了java采用中文方式显示时间的方法.分享给大家供大家参考.具体如下: 其中t为秒,比如有时候需要计算两个任务相差多久,或者该任务何时结束或者某个任务间隔多久重新启动等适用于本方法.如果是微秒,自己先/1000 private static String chinese_period(int t){ int y, n, d, h, m, s; String time; if(t<=0) return "立即"; s = t % 60; t /= 60; m = t %

  • ASP.NET网站实时显示时间的方法

    本文实例讲述了ASP.NET网站实时显示时间的方法.分享给大家供大家参考.具体方法如下: 在ASP.NET环境中开发设计网站或网络应用程序时,往往需要实时显示当前日期和时间.这时,通常使用AJAX控件来实现. 需要注意的是,在.NET Framework 2.0版本中,工具箱中是没有AJAX Extensions控件的.而.NET Framework 3.5版本中集成了AJAX. ASP.NET AJAX包括三部分: ①一个扩展客户端JavaScript功能的客户端库或框架: ②一个允许ASP.

  • js实现在网页上简单显示时间的方法

    本文实例讲述了js实现在网页上简单显示时间的方法.分享给大家供大家参考.具体如下: 这是一款网页时钟JS代码,纯javascript实现,显示时.分.秒.网页时间显示.网页时钟有很多,这个真的挺简易的,美工好的朋友可在此基础上进一步美化完善 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr

  • 浅析GridView中显示时间日期格式的问题

    以下都是GridView基本常用的日期,时间格式 形式 语法 结果 注释 数字 {0:N2} 12.36   数字 {0:N0} 13   货币 {0:c2} $12.36   货币 {0:c4} $12.3656   货币 "¥{0:N2}" ¥12.36   科学计数法 {0:E3} 1.23E+001   百分数 {0:P} 12.25% P and p present the same. 日期 {0:D} 2006年11月25日   日期 {0:d} 2006-11-25  

  • php显示时间常用方法小结

    本文实例讲述了php显示时间常用方法.分享给大家供大家参考.具体分析如下: 一.PHP函数Date()获取当前时间 代码: 复制代码 代码如下: <?php echo $showtime=date("Y-m-d H:i:s");?> 显示的格式: 年-月-日 小时:分钟:秒 相关参数: a:"am"或者"pm" A:"AM"或者"PM" d:几日,二位数字,若不足二位则前面补零,如: "

  • 详解PHP使用日期时间处理器Carbon人性化显示时间

    本文介绍了PHP使用日期时间处理器Carbon人性化显示时间,分享给大家,具体如下: Carbon 日期时间处理库可以很方便的处理时间,github地址为https://github.com/briannesbitt/carbon 可以通过 Composer 很方便的来安装 Carbon # composer require nesbot/carbon 使用方法也很简单 <?php require 'vendor/autoload.php'; use Carbon\Carbon; //显示中文

  • JS实现浏览器状态栏显示时间的方法

    本文实例讲述了JS实现浏览器状态栏显示时间的方法.分享给大家供大家参考,具体如下: 以前做个人主页的时候,总喜欢把自己的网页搞的很个性,在网上做跑马灯文字,在状态栏显示问候语,或者在状态栏添加时间显示,本代码就是实现了状态栏显示当前时间的物资,火狐没测度,IE下效果完美. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-status-bar-show-time-demo/ 具体代码如下: <!DOCTYPE HTML PUBLIC "

  • php实现用已经过去多长时间的方式显示时间

    本文实例讲述了php用已经过去多长时间的方式显示时间的方法.分享给大家供大家参考.具体如下: 这里以一种可读性比较好的方式显示已经过去多长时间,比如:距离现在10秒,距离现在1天等等. function time_is_older_than($t, $check_time){ $t = strtolower($t); $time_type = substr(preg_replace('/[^a-z]/', '', $t), 0, 1); $val = intval(preg_replace('/

  • 比较简洁的JavaScript 实时显示时间的脚本 修正版

    JavaScript显示时间,时间还在走动着!不是一个静态的效果! function Time() 定义一个函数.  { if (!document.layers&&!document.all)  return 由于IE与Netscape对JavaScript的解释不同,造成浏览的效果不同,所以要分别写代码.这句话判断一下用户所使用的浏览器,如果两者都不是,就返回.  var timer=new Date() 定义一个新的变量,名字为timer,为一个新的Date的对象.  var hou

随机推荐