JSはGMTとUTCのタイムゾーンを完全に理解しています

JSはGMTとUTCのタイムゾーンを完全に理解しています

序文

グリニッジ標準時、世界時間、ズールー時間、GMT、UTC、クロスタイムゾーン、夏時間、これらの目まぐるしい時間用語は私たちにとって馴染み深いものかもしれませんが、実際に問題に遭遇すると、それほど確信が持てず、再度確認する必要があり、対処した後、しばらくすると忘れてしまうことがあります。今日は、それらを徹底的に見ていきます。

1. GMT

GMTとは

GMT (グリニッジ標準時)、グリニッジ標準時 (グリニッジ標準時とも呼ばれます)。

これは、イギリスのロンドン郊外にある王立グリニッジ天文台を太陽が毎日通過する時刻が正午であると規定しています。

GMTの歴史

グリニッジ王立天文台は、海洋覇権拡大計画の一環として、17 世紀に天体観測を開始しました。天文観測では、イギリスのロンドンにあるグリニッジ天文台の子午線の中心を通る経線が 0 度の基準線として選ばれました。この線はグリニッジ子午線と呼ばれます。

1884年10月、米国ワシントンで国際子午線会議が開催され、グリニッジ子午線が本初子午線とされ、グリニッジ標準時(GMT)が世界標準時(UT、世界時)と定められました。これにより、世界の 24 時間の自然時間帯の区分も決定され、すべての時間帯は GMT からのオフセットに基づいています。

1972 年までは、グリニッジ標準時 (GMT) が世界の時間標準でした。 1972 年以降、GMT は時間基準ではなくなりました。

2. UTC

UTCとは

UTC (協定世界時)、協定世界時は、世界統一時刻、世界標準時刻、国際協定時刻とも呼ばれます。英語(CUT)とフランス語(TUC)の略称が異なるため、妥協案としてUTCと略称されます。

UTC は現在、世界標準時間となっており、世界中のすべての地域がそれぞれの時間を同期することに同意しています。 UTC 時間は、平均太陽時 (グリニッジ標準時 GMT に基づく)、地球の軸の動きに合わせて修正された新しい時間スケール、および秒単位の国際原子時の組み合わせです。

軍隊では、「Z」は協定世界時を表すために使用されます。 Z は無線通信において「ズールー」の同義語として使用されるため、協定世界時は「ズールー時間」とも呼ばれます。

UTC は次の 2 つの部分で構成されます。

原子時(TAI、国際原子時):

世界中の 400 台の原子時計をすべて組み合わせて得られる時間によって、それぞれの時計の時間の流れる速度が決まります。

世界時(UT):

天文時または太陽時とも呼ばれるこの時間は、地球の自転に基づいており、地球の 1 日の長さに相当する原子時間の数を決定するために使用されます。

UTCの歴史

1960年に国際無線通信諮問委員会はUTCの概念を標準化し、翌年には実用化しました。

「協定世界時」という名称は 1967 年まで正式に採用されませんでした。

1967 年より前は、UTC を地球の自転の時間に合わせるためにうるう秒が使用され、UTC は数回調整されていました。

3. GMTとUTC

GMT は以前の世界標準時であり、UTC は現在の世界標準時です。

UTC は GMT よりも正確で、原子時間を使用して現代社会の正確な時間管理に適応します。

ただし、秒単位の精度が必要ない場合は、これら 2 つは同等とみなすことができます。

グリニッジ天文台は毎年、UTC に基づいて時刻情報を発行しています。

4. タイムゾーン

鉄道などの交通・通信手段の発達や世界貿易の促進に伴い、各地で地方太陽時が使用されることで時間の不一致という問題が生じました。19世紀には統一された時間基準が必要となり、タイムゾーンが誕生しました。

タイムゾーンはどのように定義されますか?

グリニッジ子午線を起点として、東西経度15度ごとにタイムゾーンが区切られており、このエリア内では誰もが同じ標準時を使用しています。

しかし、実際には行政上の便宜を考慮して、国や州をグループ化することが多いです。そのため、時間帯は厳密に南北の直線に沿って区切られるのではなく、自然条件に応じて区切られます。さらに、現在、各国がタイムゾーンを変更することを承認する国際機関は存在しません。一部の国では、特定の理由によりタイムゾーンが変更されます。

世界は 24 の標準時間帯に分かれており、隣接する時間帯間の時差は 1 時間です。

異なる地域では、同じタイムゾーンに多くの異なるタイムゾーン名が付けられることがよくあります。これは、タイムゾーン名には通常、その国のその地域の地理情報が含まれているためです。夏時間中は、ローカルタイムゾーンの名前と略語が変更されます (通常、「daylight」または「summer」という単語が含まれます)。

たとえば、米国の東部標準時は EST (Eastern Standard Time) と呼ばれ、東部夏時間は EDT (Eastern Daylight Time) と呼ばれます。

世界中のすべてのタイムゾーンの名前を表示するには、次の Web サイトにアクセスしてください: https://www.timeanddate.com/t...

5. 夏時間

サマータイムとは

DST(Daylight Saving Time)、夏時間はサマータイムまたはデイライトセービングタイムとも呼ばれます。

エネルギーを節約するために、現地時間を人為的に設定するシステムです。一般的に、夏は日の出が早くなるため、人々は時間を1時間早め、早めに起床・就寝し、照明の量を減らして光資源を最大限に活用し、照明用の電力を節約します。

世界の約 40% の国では夏にサマータイムを採用していますが、残りの国では年間を通じて標準時間を採用しています。そのため、一部の国では標準時間は冬時間とも呼ばれます。

サマータイムを導入している国では、1 年に 1 日だけ 23 時間の日 (サマータイムの開始日)、1 日だけ 25 時間の日 (サマータイムの終了日) があり、その他の日はすべて 24 時間です。

緑色の部分は、2019年にカウントされた世界中で冬時間と夏時間を実施している国と地域を表しています。

夏時間の歴史

1784年、フランス駐在のアメリカ大使ベンジャミン・フランクリンが「夏時間制度」を提案した。 1908年にイギリスの建築家ウィリアム・ウィレットが再度提案したが、その時は採用されなかった。

1916年、第一次世界大戦中、ドイツ政府は戦争に必要な石炭を節約するために、昼間の時間を1時間長くするために時計を1時間進めるよう命じ、夏時間を導入した最初の国となった。その後、第一次世界大戦に参加したイギリス、フランス、ロシア、アメリカの4カ国もこれに追随した。

米国は第一次世界大戦後の1919年に夏時間を廃止したが、第二次世界大戦中の1942年に再開し、1966年には恒久的な使用を保証するための正式な法律が制定された。 1973年から1975年の石油危機の間、米国は石油を節約するために2年連続で夏時間を延長しました。

ヨーロッパ諸国の大半は、第4次中東戦争による第一次石油危機(1973年)から3年後の1976年に夏時間の導入を開始しました。

1986 年 4 月、中国国務院弁公室は「全国夏時間実施に関する通知」を発行し、国民全員に早寝早起きしてエネルギーを節約するよう求めました。毎年 4 月中旬の第一日曜日の午後 2 時に時計を 1 時間進め、10 月中旬の第一日曜日の午後 2 時に時計を 1 時間戻します。しかし、このサマータイムは6年間しか実施されず、1992年に廃止されました。主な理由は、中国は東西に広い地域を持っているにもかかわらず、北京時間のみに従っていたためです。リアルタイムのサマータイムは、多くの非現実的な悪影響をもたらしました。

夏時間論争

過去 100 年間、夏時間は戦争やエネルギー不足など深刻な国家危機の場合にのみ好まれる傾向がありました。しかし、比較的平和だった過去 10 年間で、この時間システムはますます不人気になってきました。

人々の体内時計が乱れ、睡眠不足に陥ることが多くなり、人体への悪影響や自動車事故の原因となるだけでなく、観光や航空業界にも大きな混乱を引き起こします。

さらに、冬時間と夏時間が実際にエネルギーを節約できるかどうかはまだ議論の余地があります。 2014年3月時点で実施された米国の調査によると、この時間変換システムにより、米国は3月と4月の電力消費を最大で1%削減できる可能性があると示されていますが、米国国立標準技術局は、夏時間は電力消費に影響を与えないと考えています。

ロシアでは、以前の報告書でも、夏時間によってロシアが毎年節約できる電力量は、火力発電所2~3基の発電量にしか相当せず、非常に「無駄」であることが示されています。

昨年(2019年)3月26日、ドイツは世界で初めてサマータイムを提案・実施した国として、欧州議会で賛成410、反対192の多数決で冬時間・夏時間転換制度の廃止案を可決しました。2021年4月からはEU加盟国全てで冬時間・夏時間転換制度が実施されなくなる予定です。加盟国が最終法案に達すると、夏時間または冬時間を恒久的に使用するかどうかを選択することになります。

6. 現地時間

日常生活で使用される時間は通常、現地時間と呼ばれます。この時間は、私たちがいる(または使用している)タイムゾーンの現地時間と等しく、協定世界時(UTC)からのオフセットによって定義されます。このオフセットは、UTC- または UTC+ の後にオフセットの時間と分数が続く形式で表すことができます。

7. JavaScript での日付

ローカル時間を取得し、異なるタイムゾーンで新しい Date() を出力します。出力は異なります。

新しい日付();

現地時間と 1970 年 1 月 1 日の深夜 (GMT) の間のミリ秒数を取得します。

新しい Date().getTime();

現地時間と GMT の差を分単位で返します。

新しい Date().getTimezoneOffset();

どこでも現地時間を正しく表示する方法(その場所のタイムゾーンがわかっている場合):

//ターゲットテーブル時間、東部第 8 ゾーン let timezone = 8;
// 現地時間とグリニッジ標準時の時差を取得します (分単位なので、変換することを忘れないでください)
const diff = new Date().getTimezoneOffset();
// 現地時間と時差に基づいてグリニッジ標準時を取得します。const absTime = new Date().getTime() + diff * 60 * 1000;
//グリニッジ標準時とローカルタイムゾーンに従って、各タイムゾーンの時刻を取得します。let localTime = new Date(absTime + timeZone * 60 * 60 * 1000);
//夏時間の処理 (isDST は独自のカプセル化された処理メソッドです)
if(isDST(localTime, country)) {
  localTime = 新しい Date(absTime + (timeZone + 1) * 60 * 60 * 1000);
}
ローカル時刻を返します。

以上が、GMTとUTCのタイムゾーンを徹底的に理解したJSの詳しい内容です。JSについてさらに詳しく知りたい方は、123WORDPRESS.COMの他の関連記事もぜひご覧ください!

以下もご興味があるかもしれません:
  • タイムゾーン実装プロセス分析を取得するためのJavaScript
  • ユーザーのタイムゾーンに応じてローカル時間を表示する JavaScript + PHP メソッド
  • js を使用して、現在のタイムゾーン TimeZone が夏時間かどうかを判断します。
  • js は、現在のタイムゾーンにおける夏時間の開始と終了のタイムコードを取得します。
  • JavaScript タイムゾーン関数の紹介
  • Javascript の世界タイムゾーン時間表示コード
  • Javascript の日付処理におけるタイムゾーンの問題
  • ローカル時間を他のタイムゾーンに変換する JavaScript スクリプト
  • JS タイムスタンプを日付形式に変換する簡単な方法の例

<<:  Linux に MySQL をインストールする方法 (yum とソース コードのコンパイル)

>>:  nginx のスムーズな再起動を実装する方法

推薦する

VMware Esxi のルート パスワードを忘れた後に正常に取得する方法

CentOS6 インストール ディスク (任意のバージョン) を準備するか、別の pnux インスト...

Linux ソフトウェアのインストール場所を確認する簡単な方法

1. ソフトウェアのインストールパスを確認します。 Linuxソフトウェアをインストールできる場所は...

Linux での Makefile の書き方と使い方の詳細な説明

目次メイクファイルMakefile の命名とルールMakefile の仕組みMakefile変数Ma...

js と jQuery での Ajax の使用例の詳細

目次ネイティブJS GETリクエストの送信方法投稿リクエストの送信方法パラメータ付きのGETリクエス...

大きな太陽の天気アイコンを純粋な CSS で記述する方法の例

効果効果図は以下のとおりです実装のアイデアDivは太陽の長方形の光と影を実現します前の疑似要素は、既...

docker compose デプロイメントにおけるマスタースレーブレプリケーションの実装

目次構成解析サービス構築ディレクトリ構造ファイルを作成インスタンス構成サービスを開始するテストRed...

MySQL の WriteSet 並列レプリケーションの簡単な分析

【歴史的背景】私は 3 年間 MySQL-DBA として働いてきましたが、MySQL が「基本的に利...

MySQL でのストアド プロシージャと関数の作成の詳細な説明

目次1. ストアドプロシージャ1.1. 基本構文1.2 実行権限を指定してストアドプロシージャを作成...

Docker を使用して OpenLDAP+phpLDAPadmin 統合ユーザー認証を構築する方法

1. 背景LDAP を使用して、操作および保守に関連するユーザー名とパスワードを集中管理します。 1...

ウェブサイトはグレー表示されています。画像を含む互換コードはすべてのブラウザをサポートしています

通常、国喪の日、大地震の日、清明節には、ウェブサイト全体を灰色にして、故人への哀悼の意を表します。そ...

MySQLのダウンロードとインストールのプロセスの詳細な説明

1: MySqlをダウンロードする公式サイトのダウンロードアドレス: https://dev.mys...

VueでTypeScriptを使用する方法

導入近年、TypeScript を求める声がますます高まり、TypeScript はフロントエンドに...

HTML でのアンカータグの使用例の共有

アンカータグの使用法:同じドキュメント内の特定の場所にリンクすることをアンカー リンクと呼びます。ア...

dockerでデプロイされたjenkinsでgitプログラムを実行する際の問題について

1. まず、gitを関連付けるときにエラーメッセージが報告されます: エラー: ビルドするリビジョン...

Windows で mysql-8.0.18-winx64 をインストールするチュートリアル (画像とテキスト付き)

1. インストールパッケージをダウンロードするインストール パッケージは次の場所にあります:参考:...