Django的时区设置问题

栏目: Python · 发布时间: 5年前

内容简介:1.Django的时区问题django默认的时区是UTC,平时是没有什么影响的,但是在需要将时间戳转换成本时区的时间或者是获取当前的本地的localtime的时候就出现了问题。之前程序在测试时是运行在<div">

1.Django的时区问题

django默认的时区是UTC,平时是没有什么影响的,但是在需要将时间戳转换成本时区的时间或者是获取当前的本地的localtime的时候就出现了问题。之前程序在测试时是运行在 Windows环境 ,所以即使settings.py中的TIME_ZONE使用默认时区, Django也会根据本机的时区使用当前时区时间 。然而程序放到 linux运行程序 时, Django的时区会使用settings.py中的TIME_ZONE设置的时区 ,所以这时就出现了问题。再有当我用脚本在 linux 上测试或者直接进入 Python 环境的时候,运行time.localtime(),显示本机所在时区的当前时间。

<div">

'''
  我的django程序中的一部分,这部分功能是将用户的聊天时间戳转化为格式化时间。由于我使用的默认时区UTC,原以为在linux环境中会像windows环境中一样会使用机器设置的时区的时间,
结果并不是,而是使用了默认时区的时间。
'''
import time
send_time = 1543524392
day = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(send_time))
print day  # 2018-11-29 20:46:32--->UTC 代码中打印出来的时间是UTC时间

2.Django时区设置

  • 在Django的 settings 中,有两个配置参数是跟时间与时区有关----> TIME_ZONE USE_TZ
  • USE_TZ True ,Django 使用系统默认时区 ,即 America/Chicago ,此时 TIME_ZONE 不管有没有设置都不起作用
  • USE_TZ False TIME_ZONE None Django会使用默认的 America/Chicago 时间
  • USE_TZFalse,TIME_ZONE 设置为其它时区,则要具体的程序运行环境。如果是 Windows系统 ,则 TIME_ZONE 设置是没用的,Django会使用本机的所使用的时区 。如果为其他系统,则使用 TIME_ZONE 设置的时区------>即 USE_TZ = FalseTIME_ZONE = 'Asia/Shanghai' , 使用上海的 UTC 时间

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-01/156466.htm


以上所述就是小编给大家介绍的《Django的时区设置问题》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

《裂变:秒懂人工智能的基础课》

《裂变:秒懂人工智能的基础课》

王天一 / 电子工业出版社·博文视点 / 2018-6-13 / 59.00元

人工智能是指通过普通计算机程序实现的人类智能技术,这一学科不仅具有非凡的科学意义,对人类自身生存方式的影响也在不断加深。本书作为人工智能领域的入门读物,内容围绕人工智能的核心框架展开,具体包括数学基础知识、机器学习算法、人工神经网络原理、深度学习方法与实例、深度学习之外的人工智能和实践应用场景等模块。本书力图为人工智能初学者提供关于这一领域的全面认识,也为进一步的深入研究建立坚实的基础。一起来看看 《《裂变:秒懂人工智能的基础课》》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具