2

重複の可能性:
任意の場所で現在の時刻を取得する方法

オープンなGoogleWebサービス、つまり地図について聞いたことがありますが、時間、通貨、その他のGoogleの機能について、これに似たものがあるのではないかと思いました。時間に関しては、同様の質問を見つけましたが、商用利用のための解決策が必要です。 任意の場所で現在の時刻を取得する方法 ああ、AJAX(クライアント側)で呼び出したいと思います。

アイデアは、世界中のいくつかの都市のドロップダウンリストを提供することです。都市が選択されると、その都市の現地時間が表示されます。さまざまなSummertime-Changesをすべて含めるアルゴリズムを見つけるのに問題があったので、このアプローチの方が簡単なようです。

4

1 に答える 1

4

作業デモ

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サービスを使用するには、ユーザー名を取得する必要があります(「デモ」を使用すると、1時間ごとの制限があります)。

于 2012-10-10T10:56:13.970 に答える