我可能的重复项:
如何获取任何位置的当前时间
听说过开放的谷歌网络服务,即地图,我想知道谷歌的时间、货币和其他功能是否有类似的内容。关于时间,我发现了一个类似的问题,但我想要一些商业用途的解决方案:如何获取任何位置的当前时间哦,我想用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 服务用于连续的多个请求(使用"demo",有每小时限制)。