Django DateTimeField说“您比服务器时间早5.5小时。”

时间:2018-12-29 07:40:17

标签: python django timezone django-timezone

在我的一个模型中,我正在存储time_stamp = models.DateTimeField(default=timezone.now)

但是当我保存模型时,它会显示You are 5.5 hours ahead of server time. 例如我的机器上的本地时间是13:02,但是保存后存储在数据库中的是7:16

我有一个相关的here,但答案不令人满意...

models.py

class Comment(models.Model):
    time_stamp = models.DateTimeField(default=timezone.now)

    def save(self, *args, **kwargs):
        ''' On save, update timestamps '''
        if not self.id:
            self.time_stamp = timezone.now()
        return super(Comment, self).save(*args, **kwargs)

5 个答案:

答案 0 :(得分:1)

由于您要比服务器时间早5.5小时,所以我认为您在印度。
因此,将适当的时区放入settings.py

  

TIME_ZONE ='亚洲/加尔各答'

如果在其他地方,请进行相应设置

答案 1 :(得分:0)

settings.py中设置TIME_ZONE = 'UTC'并在计算机中修复时间。

答案 2 :(得分:0)

您需要在PC上更改时区设置并刷新。那是唯一的出路。我只是解决了自己的问题。

答案 3 :(得分:0)

如果说您比服务器时间早5.5小时。这意味着你在印度然后设置

TIME_ZONE = 'Asia/Kolkata' 

在您的setting.py文件中。

或在以下位置查看您的时区 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

答案 4 :(得分:0)

请确保您在Django项目的settings.py文件中进行了以下更改。

Change in settings.py file