方法一(推荐)

//获取当前时间
function getTime()
{$timezone = getTimeZoneFromIpAddress();  //获取时区if(!$timezone){return false;}date_default_timezone_set("$timezone");$time = time();$date=date('Y-m-d',$time);$datetime=date('H:i',$time);$ap_pm = gmdate('a',$time);$data = array('timezone'=>$timezone,'time'=>$time,'date'=>$date,'datetime'=>$datetime,'ap_pm'=>$ap_pm);return $data;
}function getTimeZoneFromIpAddress(){$clientsIpAddress = get_client_ip();$clientInformation = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$clientsIpAddress));$clientsLatitude = $clientInformation['geoplugin_latitude'];$clientsLongitude = $clientInformation['geoplugin_longitude'];$clientsCountryCode = $clientInformation['geoplugin_countryCode'];$timeZone = get_nearest_timezone($clientsLatitude, $clientsLongitude, $clientsCountryCode) ;return $timeZone;}function get_client_ip() {$ipaddress = '';if (getenv('HTTP_CLIENT_IP'))$ipaddress = getenv('HTTP_CLIENT_IP');else if(getenv('HTTP_X_FORWARDED_FOR'))$ipaddress = getenv('HTTP_X_FORWARDED_FOR');else if(getenv('HTTP_X_FORWARDED'))$ipaddress = getenv('HTTP_X_FORWARDED');else if(getenv('HTTP_FORWARDED_FOR'))$ipaddress = getenv('HTTP_FORWARDED_FOR');else if(getenv('HTTP_FORWARDED'))$ipaddress = getenv('HTTP_FORWARDED');else if(getenv('REMOTE_ADDR'))$ipaddress = getenv('REMOTE_ADDR');else$ipaddress = 'UNKNOWN';return $ipaddress;
}function get_nearest_timezone($cur_lat, $cur_long, $country_code = '') {$timezone_ids = ($country_code) ? \DateTimeZone::listIdentifiers(\DateTimeZone::PER_COUNTRY, $country_code): \DateTimeZone::listIdentifiers();if($timezone_ids && is_array($timezone_ids) && isset($timezone_ids[0])) {$time_zone = '';$tz_distance = 0;//only one identifier?if (count($timezone_ids) == 1) {$time_zone = $timezone_ids[0];} else {foreach($timezone_ids as $timezone_id) {$timezone = new \DateTimeZone($timezone_id);$location = $timezone->getLocation();$tz_lat   = $location['latitude'];$tz_long  = $location['longitude'];$theta    = $cur_long - $tz_long;$distance = (sin(deg2rad($cur_lat)) * sin(deg2rad($tz_lat)))+ (cos(deg2rad($cur_lat)) * cos(deg2rad($tz_lat)) * cos(deg2rad($theta)));$distance = acos($distance);$distance = abs(rad2deg($distance));// echo '<br />'.$timezone_id.' '.$distance;if (!$time_zone || $tz_distance > $distance) {$time_zone   = $timezone_id;$tz_distance = $distance;}}}return  $time_zone;}}

方法2

调用API https://ipapi.co/178.237.33.50/timezone

根据ip地址获取时区相关推荐

  1. C# 网络编程之通过ip地址获取地理位置(补充)

    前面我写过一篇文章"C# 网络编程之获取本机名.ip地址.域名.物理位置"里面可以根据输入的网址根据其ip地址获取器物理位置,其中该部分主要代码是通过有道网提供的在线第三方接口实现 ...

  2. Python根据IP地址获取MAC地址

    Python3根据IP地址获取MAC地址(不能获取本机IP,可以获取与本机同局域网设备IP的MAC) main.py #!/usr/bin/env python3 # -*- coding: utf- ...

  3. JAVA程序 通过IP地址 获取MAC地址

    转载自:https://blog.csdn.net/chwshuang/article/details/46958719 叙述 我们都知道通过在电脑上敲 cmd 后,输入ipconfig -all 来 ...

  4. js通过IP地址获取所在城市

    话不多说,直接贴代码! 将这段代码运行一下就OK了: <html xmlns="http://www.w3.org/1999/xhtml"> <head runa ...

  5. 6种根据IP地址获取相应城市信息的接口

    发这篇文章的最主要的目的就是给大家分享一个 免费快捷根据IP地址获取相应城市信息的接口--腾讯接口 在找到个腾讯接口之前,我试也用了很多接口,比如:淘宝,新浪等,下面挨个介绍 (ps:$ip是IP地址 ...

  6. java根据ip地址获取城市地域信息

    java根据ip地址获取城市地域信息 这里提供两个公开的接口,一个是阿里的,一个是新浪的 http://ip.taobao.com/service/getIpInfo.php?ip=123.139.9 ...

  7. 根据ip地址获取城市名的几种方法

    2019独角兽企业重金招聘Python工程师标准>>> 在某些场景下,可能需要用到根据ip地址获取ip所对应的城市名. 貌似腾讯.百度等开放接口已经失效或者免费服务接口关闭等原因,很 ...

  8. 根据IP地址获取物理位置

    1.导入maven坐标 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all&l ...

  9. java 根据IP地址获取地理位置

    来源:http://www.ipplus360.com/tech/api/ 来源:http://blog.csdn.net/Cryhelyxx/article/details/40862101 精确查 ...

  10. python 通过ip获取城市_如何根据普通ip地址获取当前地理位置

    前言: 我们现在需要做的功能是根据ip地址获取当前地理位置,是Web 服务API,获取后的位置信息一般是城市级别的,不是很精确的那种获取. (1)开发者需要做的准备工作: 需要登录百度地图的api,点 ...

最新文章

  1. java ee开发技术 上海大学_学院介绍
  2. 加载Hadoop+spark镜像文件需要修改的配置文件
  3. 信息系统项目管理师优秀论文:论信息系统范围管理
  4. python之if经典语句_Python之if语句、字典
  5. git依赖python_python爬虫之git的安装
  6. python计算工资编程-Python实现扣除个人税后的工资计算器示例
  7. 数据结构—快速排序及其实现思想分而治之DC(思维导图版)
  8. [USACO08JAN]牛大赛Cow Contest
  9. java zip4j 内存文件和磁盘文件 压缩和加密
  10. 程序员除了写代码,还应重视哪些方面?
  11. cad批量打印_CAD插件——批量打印软件安装包+安装教程
  12. PROTELL99se复制粘贴功能(元件库)
  13. HTML静态网页我的家乡,html网站家乡 !
  14. 电子罗盘在终端的应用
  15. ps3 移动硬盘 安装linux,ps3内置硬盘安装方法
  16. 中国超级城市的新变局
  17. Spamhaus -影响最大的RBL(实时黑名单列表)服务提供商,非营利性组织
  18. 失业登记对养老保险是否有影响
  19. 机器学习---推荐系统效果评估NDCG
  20. 简单温习一下快速排序

热门文章

  1. easyphp 12 mysql 启动_easyphp使用教程
  2. PAT乙级1068 万绿丛中一点红(测试点3、测试点5)
  3. 简述程序化交易的优缺点都是什么?
  4. python对excel操作简书_Python-Excel操作
  5. 如何在命令行下用命令slmgr激活windows8系统
  6. iPad 生产力指南:如何把MathType7安装在iPad中,方便写公式,写论文,公式编辑器,完全免费
  7. MeshBaker插件 使用套路
  8. ocm认证年薪多少_年薪 100 万在 IT 行业中,属于什么水平 ?
  9. Origin绘图时出现Speed Mode is on水印解决方式
  10. linux根文件系统与内核合二为一