簡體   English   中英

Flask + Jinja:將UTC轉換為本地時區

[英]Flask + Jinja: Convert UTC to Local Timezone

我有一個Flask應用程序,它將用戶的時區(來自pytz.common_timezones )存儲在數據庫中。

我使用UTC時間戳將記錄存儲在數據庫中。

我想根據最終用戶的時區向他們顯示這些記錄。

最好是:

  1. 遍歷每條記錄並轉換時區,然后再將其傳遞給render_template

    - 要么 -

  2. 在我的視圖中定義一個宏,以在模板本身中執行此轉換?

是否有將原始時區轉換為本地時區的最佳實踐?

我認為您在這里有兩個單獨的問題。 真正的問題是關於如何最好地操作模板的-可能會詢問有關任何值的操作。 我讓別人回答。

關於第二個問題:

是否有將原始時區轉換為本地時區的最佳實踐?

那沒有什么意義。 在python意義上,“天真”的意思是“不知道時區”-因此,實際上並沒有“天真時區”這樣的東西。

如果要從原始datetime轉換為已知 datetime ,那么最好的建議是確保使用pytz文檔中所述的localize函數。 不要嘗試自己將其分配給tzinfo屬性。

恕我直言,第二種方法更好,因為服務器代碼不必知道每個客戶端的時區信息。 同樣,燒瓶擴展(例如Flask-Moment)使此操作更容易實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM