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

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

  

tzwhere模块 根据经纬度判断时区的更多相关文章

  1. 通过GSM模块发送经纬度求救信息。

    本博客作为实验笔记,仅供学习交流.(转载请注明出处) 本实验通过GSM模块:SIM900a,实现向特定手机发送sos求救信号,并且利用GPS模块:微科VK2828U7G5LF,将经纬度信息同时发送到手 ...

  2. 第十九章 Python os模块,pathlib 判断文件是目录还是文件

    OS模块 os.path.abspath() :返回path规范化的绝对路径 import sys import os BASE_DIR = os.path.dirname(os.path.dirna ...

  3. 查询mysql中经纬度判断坐标范围

    先上代码,稍后附上说明: 1. 从mysql中取出记录,打印有效经纬度: import json import MySQLdb # lines = c.fetchall() #所有的记录,一个tupl ...

  4. 根据GPS经纬度判断当前所属的市区

    这个事情分两步走 1. 拿到行政区划的地理围栏数据 2. 根据GPS定位判断一个点是否落在地理围栏的多边形区域里. 1. 获取行政区划的地理围栏数据可以利用百度API.打开以前我的一个例子在chrom ...

  5. expected_conditions模块提供了判断页面元素的16种方法

    1.title_is: 判断当前页面的title是否完全等于(==)预期字符串,返回布尔值2.title_contains : 判断当前页面的title是否包含预期字符串,返回布尔值3.presenc ...

  6. 09 . Python3之常用模块

    模块的定义与分类 模块是什么? 一个函数封装一个功能,你使用的软件可能就是由n多个函数组成的(先备考虑面向对象).比如抖音这个软件,不可能将所有程序都写入一个文件,所以咱们应该将文件划分,这样其组织结 ...

  7. 初学Node(三)模块系统

    模块系统 Node根据CommonJS规范实现了一套自己的模块机制,可以使用require()导入一个模块,使用module.exports导出一个模块. require使用 在Node中我们可以使用 ...

  8. 获取某地的经纬度 && 通过经纬度获取相应的地理位置

    最近要通过一个经纬度判断该经纬度是否位于某个地区内,所以通过网上查找资料,整合后出了下面的内容. 1.通过地址获取改地址的经纬度 /** * @param addr * 查询的地址 * @return ...

  9. python+selenium自动化软件测试(第4章):场景判断与封装

    4.1 显示等待WebDriverWait 前言:在脚本中加入太多的sleep后会影响脚本的执行速度,虽然implicitly_wait()这种隐式等待在一定程度上节省了很多时间.但是一旦页面上某些j ...

随机推荐

  1. ios移动端部分手机不支持background-attachment: fixed 的解决办法

    ios系统和某些移动端background-attachment:fixed不兼容性,没有任何效果,但可以hack一下就可以了,代码如下: ps:想在哪个标签加背景,可以在它class后:before ...

  2. opencv 抠图联通块(c接口)

    #include "stdio.h" #include "iostream" #include "opencv/cv.h" #include ...

  3. 关于ssh_copy_id脚本解析

    [oldgirl@module ~]$ more /usr/bin/ssh-copy-id #!/bin/sh # Shell script to install your public key on ...

  4. Apache 打开网页的时候等待时间过长的解决方案

    服务器搭建后经常在打开页面的时候,等待很长时间,有时候,都超过一分钟了,然后才能打开,但是打开后,速度又很快,休息一会再点击,又会很慢了,遇到了这种问题很头疼,由于不是专业做服务器配置的,所以刚开始没 ...

  5. iOS 开发:TCP三次握手连接

    在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次握 ...

  6. docker命令小记

    最近工作需要,对docker稍微了解了一下,大部分内容网上都有各种各样的教程.有两个稍微特殊的命令这里记录一下: 1. rename image的命令 从各种私有镜像下载后用docker images ...

  7. X86 Booting Sequence

    1.BIOS 0xFFFF0 電源正常啟動後,x86 CPU 會先執行 0xFFFF0,也就是 BIOS ROM 的進入點.由於 0xFFFF0 ~ 0xFFFFF 只有少的很可憐的 16 bytes ...

  8. swift跳转到Appstore

    //进入appstore中指定的应用 let str = NSString(format: "itms-apps://ax.itunes.apple.com/WebObjects/MZSto ...

  9. JS 鼠标滚轮事件(mousewheel/DOMMouseScroll)

    onmousewheel (FireFox不支持此事件) // IE/Opera/Chrome/Safari document.body.onmousewheel = function(event) ...

  10. python之excel自动报表

    一.自动报表前期工作: 需要安装XlsxWriter模块,可以从github上下载以后解压.setup.py install. 二.程序: #!/usr/bin/env python # -*- co ...