可能重复:
如何在任何位置获取当前时间
我听说过用于地图的开放式 Google WebServices,我想知道在时间、货币和 Google 的其他功能方面是否有类似的东西。关于时间我发现了一个类似的问题,但我想要一些商业用途的解决方案: 如何在任何位置获取当前时间 哦,我想通过 AJAX(客户端)调用它。
这个想法是提供一个包含世界各地一些城市的下拉列表,一旦选择了一个城市,应该显示该城市的当地时间。我在寻找包含所有各种夏季变化的算法时遇到了问题,因此这种方法似乎更容易。
可能重复:
如何在任何位置获取当前时间
我听说过用于地图的开放式 Google WebServices,我想知道在时间、货币和 Google 的其他功能方面是否有类似的东西。关于时间我发现了一个类似的问题,但我想要一些商业用途的解决方案: 如何在任何位置获取当前时间 哦,我想通过 AJAX(客户端)调用它。
这个想法是提供一个包含世界各地一些城市的下拉列表,一旦选择了一个城市,应该显示该城市的当地时间。我在寻找包含所有各种夏季变化的算法时遇到了问题,因此这种方法似乎更容易。
使用HTML5 地理定位 API,您可以获得当前的纬度/经度坐标:
var currentPosition;
navigator.geolocation.getCurrentPosition(function(position) {
currentPosition = position;
});
您可以使用它向您在帖子中提到的Web 服务发出ajax 请求:
$(function(){
var tzObject;
$("button").click(function(){
console.log(currentPosition);
var dt = "lat="+currentPosition.coords.latitude +
"&lng="+currentPosition.coords.longitude +
"&username=demo"; //change to your uName
$.get("http://api.geonames.org/timezoneJSON", dt, function(msg) {
tzObject = msg;
alert(tzObject.time + " " + tzObject.timezoneId);
});
});
});
这将返回一个包含相关时区信息的 JSON 对象。当然,如果您有一组城市列表,则可以轻松存储它们的纬度/经度坐标,然后将其用于请求。您需要获得一个用户名才能连续使用该 Web 服务来处理多个请求(使用“演示”,每小时有一个限制)。