Django时区设置的坑和问题
2018-12-03 09:26:45来源:博客园 阅读 ()
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_ZONE
和USE_TZ
USE_TZ
为True
,Django使用系统默认时区,即America/Chicago
,此时TIME_ZONE
不管有没有设置都不起作用。USE_TZ
为False
,TIME_ZONE
为None
,Django会使用默认的America/Chicago
时间。
设置为其它时区,则要具体的程序运行环境。如果是Windows系统,则USE_TZ
为False,
TIME_ZONETIME_ZONE
设置是没用的,Django会使用本机的所使用的时区。如果为其他系统,则使用TIME_ZONE设置的时区------>即USE_TZ = False
,TIME_ZONE = 'Asia/Shanghai'
, 使用上海的UTC
时间。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:python设计模式之观察者模式
- Django项目中使用qq第三方登录。 2019-08-13
- Django和前端用ajax传输json等数据 2019-08-13
- Django基本知识 2019-08-13
- JavaScript获取Django模板中指定键值的数据,使用过滤器 2019-08-13
- pycharm查看函数用法,参数信息的设置方法 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash