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函数就可以将时间转换为当地时间。

 

 

 

posted on 2015-12-03 15:49  oneapple  阅读(307)  评论(0)    收藏  举报

导航