2016-05-29 9 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}}

を入力します。

関連する問題