DateTimeField 中的时间不正确

时间:2021-04-07 07:26:51

标签: python django django-models

您好,我正在创建一个网站,并试图在每次有人单击时钟输入按钮时将时钟及时保存到数据库中,但数据库中保存的时间已关闭 8 小时。我该如何解决这个问题?

我使用 DateTimeField 的代码:

from django.db import models
from datetime import datetime, date

#Create your models here.


class Name(models.Model):
    name = models.CharField(max_length=200)
    timeIn = models.DateTimeField(auto_now_add=True, auto_now=False, blank=True)

    def __str__(self):
        return self.name

2 个答案:

答案 0 :(得分:0)

尝试在内置时区模块中使用 django:

from django.utils import timezone

class MyModel(models.Model):
    created_at = models.DateTimeField(default=timezone.now)

这应该使用您计算机的时区,并且不应再超过 8 小时。

答案 1 :(得分:0)

当您在 USE_TZ 文件中将时区 True 设为 settings.py 时,日期时间将类似于 - 2021-04-06 12:35:19.646177+04 在数据库中。

访问它不会产生任何问题,您可以像这样获得正确的时区感知日期时间 -

from django.utils.timezone import localtime

name = Name.objects.get(pk=1)
t = localtime(name.timeIn)

t 此处将根据您的时区给出正确的日期时间。