2

私は、さまざまな日時変換のためにアプリケーションでさらに使用されるアプリケーションでユーザーが自分のタイムゾーンを設定できる Web アプリケーションに取り組んでいます。選択したタイムゾーンは、ユーザーのロケールのタイムゾーンとは異なる場合があります。

私は現在、ユーザーが選択した日付(ユーザーがアプリケーションで選択したタイムゾーンにあると想定している)を現在の日付と比較して、選択した日付が将来の日付であるかどうかを確認する必要があるという問題に悩まされています。検索したすべての場所を参照して、現在の日付をユーザー ロケールまたは UTC 時間で取得できることがわかりました。

だから私の問題の要点は - タイムゾーンの略語を使用して日付をあるタイムゾーンから別のタイムゾーンに変換する方法はありますか?

ここに投稿する前によく検索しましたが、解決策が得られませんでした。検索中に見つけた場所のほとんどは、そのような解決策がないことを示唆しています。

私はdate.jsを使用してみましたが、かなり時代遅れであり、サポートされているタイムゾーンの略語も非常に限られたセットであるため、目的には十分ではありません. timezoneJS も調べましたが、タイムゾーンの略語では機能しないと思います。

javascriptまたはjqueryを使用してそれを達成できる方法はありますか?

4

1 に答える 1

3

どうぞ:

// calculate local time in a different city given the city's UTC offset
function calcTime(city, offset) {

    // create Date object for current location
    var date = new Date();

    // convert to msec
    // add local time zone offset 
    // get UTC time in msec
    var utc = date.getTime() + (date.getTimezoneOffset() * 60000);

    // create new Date object for different city
    // using supplied offset
    var newDate = new Date(utc + (3600000 * offset));

    // return time as a string
    return "The local time in " + city + " is " + newDate.toLocaleString();
}

// get Bombay time
console.log(calcTime('Bombay', '+5.5'));

// get Singapore time
console.log(calcTime('Singapore', '+8'));

// get London time
console.log(calcTime('London', '+1'));
于 2013-06-13T11:08:19.337 に答える