2014-01-07 28 views
4

我正在使用App引擎,並試圖從請求中獲取時區。 然而,當在本地主機上時,它似乎總是返回'ZZ'作爲pytz庫中不是國家的國家代碼。我在使用pytz時將'ZZ'設置爲國家/地區代碼

此代碼:

country = self.request.headers['X-Appengine-Country'] 
logging.info(country) 
tz = pytz.country_timezones(country) 

產生這個錯誤:

return self.data[key.upper()] 
KeyError: 'ZZ' 

許多感謝您的幫助

回答

4

我建議你使用的請求的標題名稱正確的情況下。對於例如X-AppEngine-Country

但是,在本地開發環境中 - 我不認爲位置功能將被支持,即您將無法獲得正確的值。這些應該只適用於部署環境。該位置很可能由Google服務提供,該服務位於Google網絡內部,未在本地開發環境中公開。

嘗試將您的代碼部署到實時環境並檢查值。

+2

*」字段名稱不區分大小寫。「* – jfs

4

「ZZ」通常用於表示「未知或未指定的國家」

還有一個數字版本的兩個字母的代碼,如1070 + 30A + b,其中a和b計算出的是這兩個字母由A = 1,B = 2等轉換的代碼。因此AA = 1101,AB = 1102,BA = 1131和ZZ = 1876。 「

+0

謝謝,你知道你是否有可能在生產中獲得ZZ? –

+0

我會做好準備,至少抓住這些情況。我曾使用其他服務,例如AdMob,其中「ZZ」個案數量比我預期的要多得多。 –

+0

我在生產中獲得「ZZ」和「未知」。 –

相關問題