Django时区的设置问题!
前段时间用django开发,碰到一个时区设置的问题。
django版本:1.8.3
在django的settings.py中:
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = True # 启用时区
即设置为东8区时区的时候。在models.py中的数据表类中,如果某个时间字段的auto_now_add/auto_now=True,那么在数据库中自动存储的时间就会是标准的UTC0区时间即存储的时间跟实际时间相差8小时。
如下所示:
#models.py
from django.db import models
class Test(models.Model):
create_time = models.DateTimeField(auto_now_add=True, verbose_name=u'创建时间')
last_time = models.DateTimeField(auto_now=True, verbose_name=u'最新时间')
要想将从数据库中提取到的时间转换为当地时间,需要调用django的localtime函数。如下所示:
from django.utils.timezone import localtime
date = localtime(date) # 将时间转为设置的时区时间
调用localtime函数就可以将时间转换为当地时间。
浙公网安备 33010602011771号