Django 时间与时区设置

再写入数据库对时间进行加减操作时候
django报告了错误

TypeError: can't subtract offset-naive and offset-aware datetimes

修改setting.py 文件

在Django的配置文件settings.py中,有两个配置参数是跟时间与时区有关的,
分别是TIME_ZONE和USE_TZ

如果USE_TZ设置为True时,Django会使用系统默认设置的时区,即America/Chicago,

此时的TIME_ZONE不管有没有设置都不起作用。

如果USE_TZ 设置为False,而TIME_ZONE设置为None,则Django还是会使用默认的America/Chicago时间。

TIME_ZONE设置为其它时区的话,则还要分情况,如果是Windows系统,则TIME_ZONE设置是没用的,Django会使用本机的时间。如果为其他系统,则使用该时区的时间,入设置USE_TZ = False, TIME_ZONE = 'Asia/Shanghai', 则使用上海的UTC时间。

修改代码中默认时区

把代码中的时间也定位成utc时区

import datetime 
from django.utils.timezone import utc
utcnow = datetime.datetime.utcnow().replace(tzinfo=utc)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Django时间问题 在用django1.8版本做项目的时候遇到时间的存储与读取不一致的问题,网上找了很多帖子,但...
    技术创造未来阅读 10,025评论 0 1
  • 在用django1.8版本做项目的时候遇到时间的存储与读取不一致的问题,网上找了很多帖子,但都没有讲明白。本文将在...
    leyu阅读 14,989评论 5 14
  • settings.TIME_ZONE = 'Asia/Shanghai' settings.USE_TZ = Tr...
    1f872d1e3817阅读 5,403评论 0 0
  • 配置文件settings.py中,有两个配置参数是跟时间与时区有关的 TIME_ZONE 和 USE_TZ 如果...
    J书越来越垃圾了阅读 3,690评论 0 1
  • 似乎每次小欧的上课都没有离开阴雨的天气,大概是天公也为全体师生和领导的付出所感动了!室外的阴雨绵绵,室内其乐融融...
    王延旭阅读 2,548评论 0 1