我有时间希望用户在各自的时区内被提醒。它存储为时间字段:
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相对于他们的时区?
答案 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"