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
为当前用户配置. windows
下pip
配置文件为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
tzwhere模块 根据经纬度判断时区的更多相关文章
- 通过GSM模块发送经纬度求救信息。
本博客作为实验笔记,仅供学习交流.(转载请注明出处) 本实验通过GSM模块:SIM900a,实现向特定手机发送sos求救信号,并且利用GPS模块:微科VK2828U7G5LF,将经纬度信息同时发送到手 ...
- 第十九章 Python os模块,pathlib 判断文件是目录还是文件
OS模块 os.path.abspath() :返回path规范化的绝对路径 import sys import os BASE_DIR = os.path.dirname(os.path.dirna ...
- 查询mysql中经纬度判断坐标范围
先上代码,稍后附上说明: 1. 从mysql中取出记录,打印有效经纬度: import json import MySQLdb # lines = c.fetchall() #所有的记录,一个tupl ...
- 根据GPS经纬度判断当前所属的市区
这个事情分两步走 1. 拿到行政区划的地理围栏数据 2. 根据GPS定位判断一个点是否落在地理围栏的多边形区域里. 1. 获取行政区划的地理围栏数据可以利用百度API.打开以前我的一个例子在chrom ...
- expected_conditions模块提供了判断页面元素的16种方法
1.title_is: 判断当前页面的title是否完全等于(==)预期字符串,返回布尔值2.title_contains : 判断当前页面的title是否包含预期字符串,返回布尔值3.presenc ...
- 09 . Python3之常用模块
模块的定义与分类 模块是什么? 一个函数封装一个功能,你使用的软件可能就是由n多个函数组成的(先备考虑面向对象).比如抖音这个软件,不可能将所有程序都写入一个文件,所以咱们应该将文件划分,这样其组织结 ...
- 初学Node(三)模块系统
模块系统 Node根据CommonJS规范实现了一套自己的模块机制,可以使用require()导入一个模块,使用module.exports导出一个模块. require使用 在Node中我们可以使用 ...
- 获取某地的经纬度 && 通过经纬度获取相应的地理位置
最近要通过一个经纬度判断该经纬度是否位于某个地区内,所以通过网上查找资料,整合后出了下面的内容. 1.通过地址获取改地址的经纬度 /** * @param addr * 查询的地址 * @return ...
- python+selenium自动化软件测试(第4章):场景判断与封装
4.1 显示等待WebDriverWait 前言:在脚本中加入太多的sleep后会影响脚本的执行速度,虽然implicitly_wait()这种隐式等待在一定程度上节省了很多时间.但是一旦页面上某些j ...
随机推荐
- SQL性能优化
引言: 以前在面试的过程中,总有面试官问道:你做过sql性能优化吗?对此,我的答复是没有.一次没有不是自己的错误,两次也不是,但如果是多次呢?今天痛下决心,把有关sql性能优化的相关知识总结一下,以便 ...
- inotify监控目录变化重启服务器tornado项目
pycharm 配置了提交服务器项目每次pycharm修改后,虽然保存到服务器但是项目还得自己去服务器kill再启动.就花几分钟写了shell脚本用于监控项目目录变化并重启tornado项目的脚本 如 ...
- 点餐系统Sprint2总结
Sprint1结束后休息了两天,就开始准备Sprint2.一开始就知道数据库的连接对我们来说都是大难题. 虽然使用sqlite3,与android连接起来比较容易,但还是不容忽视.为期10天,和Spr ...
- linux-----------shell的基础命令
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...
- css元素排列
有时候元素的排列没有预想的效果,考虑是不是margin和padding的影响
- C++ MFC控制台输出调试信息
1.#include <conio.h> 2.在需要开启控制台窗口的地方调用 AllocConsole();//注意检查返回值 3.在需要输出调试的时候调用_cprintf等函数 如_cp ...
- React 入门实例教程(转载)
本人转载自: React 入门实例教程
- nodejs与模块soap的用法
最近做了点东西要求用到soap模块,我是怎么知道的呢,收到了 <soap:Body><soap:Fault><faultcode>soap:Client</f ...
- 全国城市三级联动 html+js
全国城市三级联动,没有css,所以屏幕的自适应必须自己想办法,手机端慎用(最好不要用,因为有些我也说不出的展示问题). html页面 <!DOCTYPE html> <html> ...
- Thinkphp更改子集
//规格编辑 public function standard(){ //$id = $_GET['id'];//dump($id);die; $id = 388; //根据$id 到re_goods ...