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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM