tzwhere模块 根据经纬度判断时区

先说一说这个问题的误区:

1: 根据地理常识,我们知道时区有24个,经度/15=商+余数,此时的商就是是时区,给大组长说了一下,不沾边

又过了几天

2:发现django自带的模块timezone,也叫时区,于是就顺着这条道开始查找,发现一个插件----pytz

  研究这个模块的时候,发现pytz.all_timezones()  可以输出所有的时区,一查看长度有592个,这么多的时区

  当初自己说的24个时区太幼稚了.

  于是开始根据这么多的时区想问题,用户输入经纬度,判断在那个时区中,又要TM了,前台输入的经纬度,而自己获取

  的时区都是城市名,他们之间该怎么换算,开始的思路是:

  把所有的时区作为常量转化为经纬度,放到setting中,用一个查一个,前台输入经纬度做减法运算,获取最小值,根据最小值

  找到对应的时区,当时感觉很聪明问题解决了,还没有和组长说,不过感觉有点麻烦

于是问了问别人,还是大神多

3:python是最简洁的语言,怎么会有你想的那么复杂呢,他有自带的模块----tzwhere

  当时听到大神说的这个模块,在百度上找了找,又TM了,百度上居然搜不到,对百度真失望,不废话了直接上代码

  谷歌搜索:

  how to lookup the timezone for lat/lng with python library (the 3rd page is your answer)

  测试代码如下

  

是不是你想要的结果,反正是我想要的...

 

除此之外:

  当我们找到模块后使用pip安装,但是总是包一个错误:ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out

  于是又开始查找怎么接触这个错误

  Read timed out
  下载超时了,天朝的网络就这样。做程序员真心不容易。

  只有修改pip源了。
  临时使用:pip install pythonModuleName -i https://pypi.douban.com/simple
  修改默认的软件源:
  修改/etc/pip.conf 文件,即可为所有用户配置.
  修改~/.pip/pip.conf为当前用户配置.
  windowspip配置文件为C:Usersxxpippip.ini,没有就新建.

(时区问题,谷歌有好多的答案,这个模块还有pytz, timezonefinder, )

geocoders :http://stackoverflow.com/questions/16086962/how-to-get-a-time-zone-from-a-location-using-latitude-and-longitude-coordinates

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值