将Datetimefield中的UTC时间转换为本地时间

1 投票
1 回答
1358 浏览
提问于 2025-04-17 12:34

在models.py里有一个事件类

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 个回答

3

你想知道本地时间是哪个时区的?pytz的文档提到,一旦你决定了要使用哪个时区,操作就简单了:

local_time = zone.localize(timestamp)

需要注意的是,从协调世界时(UTC)转换到本地时间是明确的,但反过来就不一定了。

撰写回答