【发布时间】:2017-06-28 05:22:27
【问题描述】:
我在整个应用程序中使用时区感知对象,除非我有一个 TimeField 来表示一天中的通用时间:
class MyModel(models.Modal):
...
start_time = models.TimeField()
但是,在某些时候,我需要使用服务器的时区将当前时间:timezone.now() 与 start_time 进行比较,以查看任何一天的时间是否已经过去。
如何将start_time 转换为可与timezone.now() 进行比较的时区感知日期时间对象?
我正在使用USE_TZ = True
【问题讨论】:
-
你试过 localize() 或 as_timezone() 吗?
-
另外,开始时间是如何创建的?作为一个天真的日期时间或时区意识的人?
-
另外,你为什么不使用日期时间字段?
-
在这行代码中创建:
start_time = models.TimeField() -
@deweyredman TimeField 而不是 DateTimeField,因为我不想更改所有默认小部件和验证,使其看起来像 DateField。这应该代表每天的特定时间。说下午2点。并且与特定日期无关。
标签: python django datetime pytz