当前位置: 移动技术网 > IT编程>脚本编程>Python > Django的时区设置问题

Django的时区设置问题

2018年12月05日  | 移动技术网IT编程  | 我要评论

媳妇的全盛时代国语版,诗领,青岛旅游报价

1.django的时区问题

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

'''
  我的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_zoneuse_tz
  • use_tztrue,django使用系统默认时区,即america/chicago,此时time_zone不管有没有设置都不起作用
  • use_tzfalsetime_zonenonedjango会使用默认的america/chicago时间
  • use_tzfalse,time_zone设置为其它时区,则要具体的程序运行环境。如果是windows系统,则time_zone设置是没用的,django会使用本机的所使用的时区。如果为其他系统,则使用time_zone设置的时区------>即use_tz = falsetime_zone = 'asia/shanghai', 使用上海的utc时间

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网