系统调用为格林威治时间,中国在东八区,需要加八小时得到中国时间。
这时需要在settings.py中进行设置
TIME_ZONE = 'Asia/Shanghai'
但经过测试这时不足以修改前端或数据库存储的时间。查阅文档后发现,还需要修改
USE_TZ = False
此时调用时间即为中国的时间
源码证明:
timezone.py(224-232)
def now():
"""
Return an aware or naive datetime.datetime, depending on settings.USE_TZ.
"""
if settings.USE_TZ:
# timeit shows that datetime.now(tz=utc) is 24% slower
return datetime.utcnow().replace(tzinfo=utc)
else:
return datetime.now()
感觉比文档好看多了