2014-09-03 78 views
0

我有一段時間,我希望提醒用戶何時到達各自的時區。它存儲爲時間字段:如何在django的時區中創建特定時間的日期時間對象

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

我有一個時區與每個用戶關聯。它看起來像:

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

比方說,customer1和customer2都有提醒設置爲上午7點。

我如何指示每個用戶相對於他們的timzone早上7點?

回答

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」

+0

什麼是「值」?我使用上面編輯的時間字段。我怎樣才能將我的時間字段轉換爲您的價值領域? – Atma 2014-09-04 00:44:42

+0

Opps,'值'應該是'time_value' – 2014-09-04 14:04:52

+0

@Atma:從日期時間objet('user_time()'返回它們)獲得一小時,使用'.hour'屬性。 – jfs 2014-09-14 16:29:16

相關問題