2016-05-29 60 views
0

我想在我的Django應用程序中獲取特定時區的當前日期,而不考慮服務器的時區。我將用戶的時區保存在數據庫中。然後我將使用下面的功能:獲取特定時區中的當前日期django

def current_date(zone): 
    utc = timezone.now() 
    tz = pytz.timezone(zone) 
    return utc.astimezone(tz).date() 

print(current_date('Pacific/Auckland')) #prints 2016-05-30 
print(current_date('Africa/Accra')) #prints 2016-05-29 

看來工作,但隨着時區的工作看似複雜,我想知道,如果事情可以去錯這種方法?

回答

0

只要獲得視圖中的值本身就是你想要的,看起來很好。由於日期/時間打印是表現的一個方面,你可能並不希望這樣做的視圖代碼,而在使用類似下面的模板:

{%負載TZ%}

{{對象。 datetime_field | timezone:request.user.timezone}}

假設您將用戶的時區選擇存儲在用戶模型中。