【问题标题】:django.utils.timezone.now returns UTC in default TimeFielddjango.utils.timezone.now 在默认 TimeField 中返回 UTC
【发布时间】:2017-02-18 13:45:54
【问题描述】:

我尝试使用以下代码在 django_admin 中预填充 TimeField:

from django.utils import timezone

time_start = models.TimeField('Heure de debut',max_length=20, default=timezone.now)

我已经安装了 pytz 并且设置正确

TIME_ZONE = 'Europe/Brussels'
USE_TZ = True

如果我点击它,管理员中的“现在”按钮会正确设置时间。但是,它最初以 UTC 显示时间(在我的情况下是实际时间前两个小时)

我是否遗漏了什么,有没有办法解决这个问题?我不想使用 auto_now_add=False,因为我希望以后能够更改...

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    要获取在 settings.py 中设置的本地时区时间,请使用:

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

    至于在 django 模型中的使用,请在此处查看此答案https://stackoverflow.com/a/12654998/1340421

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      相关资源
      最近更新 更多