ホームページ  >  記事  >  ウェブフロントエンド  >  現地時間を他のタイムゾーンに変換する JavaScript スクリプト_時刻と日付

現地時間を他のタイムゾーンに変換する JavaScript スクリプト_時刻と日付

WBOY
WBOYオリジナル
2016-05-16 18:55:111325ブラウズ

しかし、別の地域の時刻を表示したい場合、たとえば、本社が別の国にあり、現地時間ではなく「自宅」の時間を表示したい場合はどうすればよいでしょうか?
これを行うには、現地時間を目的地の時間に変換するためにさまざまな時間計算を実行する必要があります。この記事では、これらの計算を実行する方法について説明します。
ステップ 1:
最初のステップは現地時間を取得することです。 JavaScript では、Data() オブジェクトを初期化することでこれを簡単に行うことができます。
// 現在位置の Date オブジェクトを作成
d = new Date();
Data() オブジェクトの getTime() メソッドを呼び出すことで、1970 年 1 月 1 日から現在の時刻を表示できます。間のミリ秒数。
// 1970 年 1 月 1 日以降のミリ秒に変換します
localTime = d.getTime();
ステップ 2:
次のステップでは、Data( ) オブジェクトの時間オフセット値。デフォルトでは、このメソッドはタイム ゾーン オフセット値の結果を分単位で表示するため、この値は前の計算でミリ秒に変換されます。
// ローカル UTC オフセットを取得し、ミリ秒に変換します
localOffset = d.getTimezoneOffset() * 60000;
getTimezoneOffset() メソッドの負の戻り値は、現地時間が世界標準より前であることを示していることに注意してください。 Time (UTC) 。正の戻り値は、現地時間が協定世界時 (UTC) より遅れていることを示します。
注: 60,000 という乗算係数をどのようにして求めたのか疑問に思われる場合は、1,000 ミリ秒が 1 秒に相当し、1 分が 60 秒に相当することを思い出してください。したがって、分をミリ秒に変換するには、60 に 1000 を掛けて、60000 となります。
ステップ 3
現地時間と現地タイムゾーンのオフセットを追加して、現在の国際標準時間 (UTC) を取得します。
// UTC 時間をミリ秒で取得します
utc = localTime localOffset;
ここで、変数 utc には現在の国際標準時間 (UTC) が含まれています。ただし、この時間は 1970 年 1 月 1 日から現在までのミリ秒数で表されます。まだ計算が残っているので、とりあえずこのように表現してみます。
ステップ 4
国際標準時 (UTC) を取得後、対象都市の国際標準時 (UTC) の 1 時間ごとのオフセット値を取得し、ミリ秒に変換し、国際標準時 (UTC) を加算します。 。
// 目的地の UTC 時間オフセットを取得して追加します
// 例: ボンベイ
// これは UTC 5.5 時間です
offset = 5.5;
bombay = utc (3600000*offset);
注: 乗算係数 3,600,000 をどのようにして求めたのか疑問に思われる場合は、1000 ミリ秒が 1 秒に相当し、1 時間が 3600 秒に相当することを思い出してください。したがって、時間をミリ秒に変換するには、3600 に 1000 を掛けて、3600000 となります。
現時点では、変数 Bombay にはインドのムンバイの現地時間が含まれています。この現地時間は、1970 年 1 月 1 日から現在までのミリ秒数で表されます。明らかに、これでは意味がありませんので、いくつかの計算を行う必要があります。
ステップ 5
新しい Data() オブジェクトを初期化し、このオブジェクトの toLocalString() メソッドを呼び出すことにより、前のステップで計算された時刻値を誰もが理解できる日付/時刻文字列に変換します。
// ミリ秒値を日付文字列に変換します
nd = new Date(bombay);
document.writeln("Bombay time is " nd.toLocaleString() "
");方法 変換が完了しました。
概要
上記の手順を理解した後、このスクリプト (リスト A) をもう一度見てみましょう。このスクリプトは、すべての計算を実行して時間値を返すコンパクトなカスタム関数 calcTime() を作成します。
リスト A








ここで、関数 calcTime() は都市名とその協定世界時 (UTC) オフセット (時間単位) を受け入れます。次に、上記で説明したすべての計算を内部で実行し、この都市の現地時間を含む文字列を返します。
リスト A からの出力のサンプルをいくつか示します。
ムンバイ現地時間は、2005年8月1日月曜日、午後4時43分51秒です
シンガポール現地時間は、2005年8月1日月曜日、午後7時13分51秒です
ロンドン現地時間は、8月8日月曜日です2005 年 1 月 12 時 13 分 51 秒
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。