现在我们知道如何可靠地任何地点的日期和时间感谢Google时区API,我们可以用它做任何事情-标准的JavaScriptDate对象允许我们。一个流行的扩展是显示时间在,嗯,实时的:

例子:

东京时间:下午2:19:02 (Thur)

洛杉矶时间:下午10:19:02 (Wed)

多伦多时间:上午1:19:02 (Thur)

巴黎时间:上午7:19:02 (Thur)

这是函数currentlocaltime()魔术背后。它采用任何纬度和经度元组,并在DIV中显示相应的生命时间:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

<div class="timebox">Tokyo Time: <span id="tokyotime"></span></div>

<div class="timebox">LA Time: <span id="latime"></span></div>

<div class="timebox">Toronto Time: <span id="torontotime"></span></div>

<div class="timebox">Paris Time: <span id="paristime"></span></div>

<script>

var apikey = 'YOUR_API_KEY_HERE'

var daysofweek = ['Sun', 'Mon', 'Tues', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun']

function currentlocaltime(divid, loc){

    var container = document.getElementById(divid)

    var targetDate = new Date() // Current date/time of user computer

    var timestamp = targetDate.getTime()/1000 + targetDate.getTimezoneOffset() * 60 // Current UTC date/time expressed as seconds since midnight, January 1, 1970 UTC

    var apicall = 'https://maps.googleapis.com/maps/api/timezone/json?location=' + loc + '×tamp=' + timestamp + '&key=' + apikey

    var xhr = new XMLHttpRequest() // create new XMLHttpRequest2 object

    xhr.open('GET', apicall) // open GET request

    xhr.onload = function(){

        if (xhr.status === 200){ // if Ajax request successful

            var output = JSON.parse(xhr.responseText) // convert returned JSON string to JSON object

            console.log(output.status) // log API return status for debugging purposes

            if (output.status == 'OK'){ // if API reports everything was returned successfully

                var offsets = output.dstOffset * 1000 + output.rawOffset * 1000 // get DST and time zone offsets in milliseconds

                var localdate = new Date(timestamp * 1000 + offsets) // Date object containing current time of target location

                var refreshDate = new Date() // get current date again to calculate time elapsed between targetDate and now

                var millisecondselapsed = refreshDate - targetDate // get amount of time elapsed between targetDate and now

                localdate.setMilliseconds(localdate.getMilliseconds()+ millisecondselapsed) // update localdate to account for any time elapsed

                setInterval(function(){

                    localdate.setSeconds(localdate.getSeconds()+1)

                    container.innerHTML = localdate.toLocaleTimeString() + ' (' + daysofweek[ localdate.getDay() ] + ')'

                }, 1000)

            }

        }

        else{

            alert('Request failed.  Returned status of ' + xhr.status)

        }

    }

    xhr.send() // send request

}

currentlocaltime('tokyotime', '35.731252, 139.730291')

currentlocaltime('latime', '34.052046, -118.259335')

currentlocaltime('torontotime', '43.656090, -79.387679')

currentlocaltime('paristime', '48.856805, 2.348242')

</script>

突出显示的行从我们已经看到的代码中选择什么是新的在上一页给时间带来生命。一次电流localdate已经检索到,我们通过创建另一个实例来确保它尽可能地是当前的。Date()对象来计算连接到Google时区API所需的毫秒数,并将该额外时间(以毫秒为单位)附加到localdate对象。

最新的localdate对象,剩下的就是每秒钟增加1秒,并将结果显示给世界其他人!

使用Google时区API显示任何城市的实时本地时间相关推荐

  1. python 根据地址求经纬度 谷歌_利用google的API获取世界城市经纬度(python实现)

    google API 需要 --. #-*- coding: utf8 -*- from xml.dom import minidom import urllib2, urllib #这个KEY本来是 ...

  2. 全球城市ZoneId和UTC时间偏移量的最全对照表

    前言 你好,我是A哥(YourBatman). 如你所知,现行的世界标准时间是UTC世界协调时,时区已不直接参与时间计算.但是呢,城市名称or时区是人们所能记忆和容易沟通的名词,因此我们迫切需要一个对 ...

  3. Google Earth Engine(GEE)对比显示不同城市的地表温度

    今天来简单分享下如何在GEE中对比显示不同城市的地表温度.之前分享过如何利用landsat数据去计算热度. 数据介绍: 数据源为MODIS/061/MOD11A2,数据集里面有个波段名字叫做LST_D ...

  4. 从零开始学google地图API(1)--获取api_key并显示google地图

    google 登录进去 ,如果有google账号就直接登录,如果没有就注册一下 进去之后大概这个样子 点击左边的Google地图,然后会看到有很多api,选择你需要使用的 这里我们选择Maps Jav ...

  5. 使用Google Weather API查询天气预报

    Google Weather API 只支持美国地区使用邮政编码进行查询,例如: http://www.google.com/ig/api?hl=zh-cn&weather=94043 (94 ...

  6. android往天气接口里面传城市,Android使用中国天气网API数据通过城市名称获取天气情况...

    项目要求在应用首页面展示本地当日天气的概况,首先想到的是google和雅虎,前者很久之前接触过,听说后来用不了了,后者由于邮箱事件的缘故个人不喜欢(虽然貌似苹果也用雅虎的天气预报),之后又想到了前段时 ...

  7. Google 地图 API 参考

    杨航收集技术资料,分享给大家 Google 地图 API 参考 Google 地图 API 现在与 Google AJAX API 载入器集成,后者创建了一个公共命名空间,以便载入和使用多个 Goog ...

  8. Google advertiser api开发概述

    对象.方法和服务 AdWords API 主要供 AdWords 的高级用户使用.如果您是 AdWords 新手,或需要复习 AdWords 基本概念,请查看 AdWords 基础知识页面. 对象层级 ...

  9. Google Maps Api Geocoding 传递参数和返回参数的解析(Json)

    转https://blog.csdn.net/zkdemon/article/details/7019117 Google Geocoding API    http://code.google.co ...

最新文章

  1. ios怎么安装python3.7_Python3、PyCharm的安装及使用方法(Mac版)
  2. STM32F4 HAL库开发 -- 温度传感器(DS18B20)
  3. 不吃不喝,两周业余时间研究(cisco SCE CM )
  4. Zookeeper常用命令行及API
  5. @modelattribute注解用postman测试怎么传参_谁要是再敢用Map传参,我过去就是一JIO...
  6. python版本可执行可嵌入_Python程序打包成exe可执行文件的方法探究
  7. 【python】命令行参数argparse用法详解
  8. Lucene倒排索引简述 番外篇
  9. 视频黑屏画面检测 blackframe
  10. 编程实现误差逆传播算法(BP算法)
  11. 华为“不造车”的承诺,快到期了
  12. Hadoop上路-03_Hadoop JavaAPI
  13. oracle 乘法表,ORACLE SQl——9*9 乘法表的实现方法
  14. 面朝大海——我的2016
  15. Log4j2官方文档翻译--欢迎使用Log4j2!
  16. 中国最大规模线下亲子嘉年华举行 350余萌娃遭遇“十万个为什么”
  17. Android仿keep运动轨迹动画,Android仿Keep运动休息倒计时圆形控件
  18. 分布式架构、大数据、机器学习、搜索、推荐、广告
  19. 别人在直播怎么录下来
  20. linux centos如何开启远程桌面,CentOS配置远程桌面

热门文章

  1. 后台导出打开Excle提示:Excel无法打开文件因为文件或文件扩展名无效
  2. css裁剪属性----clip-path
  3. 编译工具各种报错(步骤正确,代码正确,配置正确)均可认为无解,除非...
  4. 博弈对抗游戏AI的技术方法的一些总结和思考
  5. 流媒体-RTMP协议-rtmpdump-flv封装解析(一)
  6. 编程金融小白学 股票期权 lv.7 希腊字母 Theta
  7. tuts4you 注册_设计和开发完整的网站(Tuts + Mini系列,第3页)
  8. 程序员技术面常用知识点
  9. 升级云服务器的python3,导致宝塔面板打不开
  10. 上证指数30年k线图_上证指数历史k线图_k线图24种经典图解