2009-10-08 43 views
2

我正在研究需要報告相對於用戶的本地時間的Django應用程序。我不希望用戶直接輸入時區,因爲我的地址存儲在數據庫中。我只考慮美國用戶。由於美國大多數州只有一個時區,因此可以根據大多數情況下的狀態信息計算時區。我想給一個函數一個州/地理信息的名稱,並讓它返回從該州的UTC時間偏移量考慮日光節約時間。爲使用地理位置的Django用戶定製時區

有沒有一個庫可以爲python做到這一點?

回答

3

我不確定這樣的圖書館是否存在。美國的每個州都沒有隻有一個時區。

看一看這裏:List of U.S. states by time zone

很多州都有不止一個。

我想你仍然可以使用該列表並選擇大部分州使用的時區,然後允許用戶自定義他們的區別,如果它不同。

+0

哇,你只是想起了我。我從來不知道有些州有多個時區。對於那些我可以提示用戶在時區輸入並自動爲只有一個的狀態進行輸入。 – hekevintran 2009-10-08 08:35:26

0

我不知道它是多麼可靠,但HTTP請求 - 在Django封裝在request對象 - 有TZ頭這顯示了客戶端的時區。

>>> request.META['TZ'] 
'Europe/London' 
+0

我認爲這是不正確的。 META ['TZ']字段設置爲您的TIME_ZONE設置:http://docs.djangoproject.com/zh/dev/ref/settings/#time-zone – brianz 2009-10-09 04:40:16

0

就像安德烈米勒指出的那樣,時區不與國家聯繫在一起。使用郵政編碼可能會更好,因爲少數城市跨越時區線。

有幾個數據庫可以將郵政編碼映射到時區。這裏有一個我發現還包括UTC移和夏令時:

USA 5-digit Zipcode DB with time zone info.

我沒有做過的東西時區,但我已經使用這種數據庫緯度/經度信息。數據做了更改,因此計劃每年更新一次數據庫。

順便說一句,如果有人知道這樣的免費數據庫,請發帖:我認爲這對社區來說真的很方便。

相關問題