2014-01-07 26 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”和“未知”。 –

相关问题