【问题标题】:Django timezone won't record user's timezoneDjango 时区不会记录用户的时区
【发布时间】:2021-01-05 16:56:26
【问题描述】:

所以我刚刚部署了一个django 网络应用程序,但令我惊讶的是,它使用UTC +0 记录所有时间对象。他们全部!不管用户的timezone

我在设置中有USE_TZ = True。这是我要插入时间的地方。

模型.py

class Timesheet(models.Model):
  ....
    start_date = models.DateTimeField(default=timezone.now)
  ....

   def save(self, *args, **kwargs):
       entry = Timesheet.objects.filter(id=self.request.user)
       if entry.exists():
           Timesheet.objects.filter(id=self.request.user).update(end_date=timezone.now())
           ...
       super().save(*args, **kwargs)

如何让它使用美国各地用户的时区?

【问题讨论】:

    标签: python-3.x django datetime timestamp-with-timezone


    【解决方案1】:

    你需要使用 localtime(now()) 而不是 timezone.now()

    from django.utils.timezone import localtime, now
    localtime(now())
    

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 1970-01-01
      • 2018-06-10
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多