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

查看所有标签

猜你喜欢:

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

网络英雄传

网络英雄传

郭羽、刘波 / 江苏凤凰文艺出版社 / 2018-6 / 59.80元

“商战鬼才郭羽、营销奇才刘波强强联手,凝集十年实战经验,倾力打造商战巨作。” 这是一个商业竞争和资本激战交织的惊心动魄的创业交锋故事。 由郭天宇、刘帅共同创立的在线旅游公司万全天盛凭借其出色的商业模式异军突起,与老牌巨头“51旅游网”两强相争,但国际巨头通远来势汹汹,国内在线旅游市场进入战火纷飞的“三国杀”时代,分踞杭、沪、京三地互相“搏杀”。中国新兴的互联网公司面对国际巨头的入侵,毫不退缩......一起来看看 《网络英雄传》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试