Django的时区设置问题

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

内容简介: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的时区设置问题》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Responsive Web Design

Responsive Web Design

Ethan Marcotte / Happy Cog / 2011-6 / USD 18.00

From mobile browsers to netbooks and tablets, users are visiting your sites from an increasing array of devices and browsers. Are your designs ready? Learn how to think beyond the desktop and craft be......一起来看看 《Responsive Web Design》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换