如何在django中的时区中创建特定时间的datetime对象

时间:2014-09-03 23:10:07

标签: python django datetime timezone pytz

我有时间希望用户在各自的时区内被提醒。它存储为时间字段:

reminder = models.TimeField(blank=True, null=True)

我有一个与每个用户相关的时区。它看起来像:

customer1_timezone = customer1.time_zone #la timezone
customer2_timezone = customer2.time_zone #ny timezone

假设customer1和customer2都将提醒设置为早上7点。

如何为每个用户指定7am相对于他们的时区?

1 个答案:

答案 0 :(得分:2)

我使用类似的东西

def user_time(time_value, customer):
    tz = pytz.timezone(customer.time_zone)
    c_tz = pytz.timezone(settings.TIME_ZONE)
    d_tz = c_tz.normalize(c_tz.localize(time_value))
    return tz.normalize(d_tz.astimezone(tz))

那将为客户提供时间,然后您只需要检查它是早上7点。你甚至可以使用strftime()。 user_time(datetime.now(),customer).strftime("%H")==" 07"