Django的时区设置问题

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

内容简介: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_TZ为False,TIME_ZONE 设置为其它时区,则要具体的程序运行环境。如果是 Windows系统 ,则 TIME_ZONE 设置是没用的,Django会使用本机的所使用的时区 。如果为其他系统,则使用 TIME_ZONE 设置的时区------>即 USE_TZ = False ,  TIME_ZONE = 'Asia/Shanghai' , 使用上海的 UTC 时间 。

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

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


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

查看所有标签

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

码出高效:Java开发手册

码出高效:Java开发手册

杨冠宝、高海慧 / 电子工业出版社 / 2018-10 / 99.00元

《码出高效:Java 开发手册》源于影响了全球250万名开发工程师的《阿里巴巴Java开发手册》,作者静心沉淀,对Java规约的来龙去脉进行了全面而彻底的内容梳理。《码出高效:Java 开发手册》以实战为中心,以新颖的角度全面阐述面向对象理论,逐步深入地探索怎样成为一位优秀开发工程师。比如:如何驾轻就熟地使用各类集合框架;如何得心应手地处理高并发多线程问题;如何顺其自然地写出可读性强、可维护性好的......一起来看看 《码出高效:Java开发手册》 这本书的介绍吧!

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

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具