在Django1.6的settings.py文件中有TIME_ZONE和USE_TZ两个参数来描述时区的设置。
TIME_ZONE:用于存放本地时区信息,默认值为UTC,意思为采用国际标准时间“格林尼治时间”。中国处于东八区,官方文档上有两个取值“Asia/Shanghai”和“Asia/Chongqing”(没有北京).
USE_TZ:用于控制是否使用UTC时间(True and False)。如果设置为False,则使用本地时间。
为了保证世界各地时间统一性,可以在数据库中使用UTC时间,根据需求转换成相应时区时间。
在timezone模块里有两个函数:
这里的naive表示是否已知时区,即tzinfo是否为None,make_aware函数根据指定的时区将模糊时间转换成相应时区的时间,make_naive正好相反。
如何修改为当地时区:
# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE =
'zh-Hans'
# TIME_ZONE = 'UTC'
TIME_ZONE =
'Asia/Shanghai'