将UTC时间从Datetimefield(models.py)转换为本地时间

时间:2012-02-08 07:10:15

标签: python django django-models pytz

models.py

中的Event类
class Event(models.Model):
 timestamp = models.DateTimeField()
 message = models.TextField()

  def __unicode__(self):
    return "'%s' at %s" % (self.message, self.timestamp)

   def api_detail(self):
    return {
        'timestamp': str(self.timestamp),
        'description': self.message,

数据库中保存了UTC时间。但我想在本地化时间内获取它。例如,时间戳将返回: 2012年2月14日,下午7点。这个时间是UTC,我想把它改成当地时间。

请帮助我解决这个问题:)

1 个答案:

答案 0 :(得分:3)

当地时间在哪个时区? pytz documentation表明,一旦确定要使用哪个区域,就会如此简单:

local_time = zone.localize(timestamp)

请注意,从UTC转换为本地时间 是明确的,而反之则不然。