プログラミングをするときは、必然的に時間を扱います。 たとえば、フラッシュ セール イベントを完了するには、時間へのアクセス、時間の同期、時差の計算など、多くの詳細が必要になります。 JavasScript の簡単な例。ブラウザ コンソールに new Date() を入力すると、次の結果が得られます:
Sun Oct 30 2016 16:27:04 GMT+0800 (CST)
非常に意味のある出力です。2016 年 10 月 30 日の日曜日、午後 16 時 27 分 04 秒を表します。それを調べるには、この記事をご覧ください。 JS の時間について詳しく知ることができます。
1. 時間の表現
古代、天文学の最も重要な仕事の 1 つは時間を測定し、暦を作成することでした。古代の私の国では、1 年が 12 か月、二十四節気に分けられ、1 日が 12 時間に分けられていました。その目的は、農業を指導するための効率的な時間表現方法を確立することでした。現代社会の発展に伴い、時間の表現にもより科学的で正確な手法が求められています。
計測
始まりはタイミングツール
太古の昔、人類は太陽と地球の角度の変化を基準に働き、日没時に休むという習慣を継承してきました。仕事と休憩のスケジュール。当時の人々には特別な時間の概念はなく、計時ツールも使用していませんでした。
中国の周の時代、人々は1日を12時間に分けていました。子、周、陰、毛、陳、思、呉、魏、申、有、呉、海で、これは真夜中、鶏の鳴き声、平丹に相当します。それぞれ「外出」、「食事の時間」、「夕中」、「太陽」、「太陽」、「午後」、「太陽」、「夕暮れ」、「レンディン」です。人々の日常生活パターンをガイドするために使用されます。このとき、おおよその時間を記録するために砂時計や日時計を使います。識別できる最短の時間は1時間(2h)です。
その後、産業革命により人類は産業時代を迎え、1 日を 1 時間あたり 60 分、1 分あたり 60 秒というより正確な時間に分割しました。より効率的に生産するために時計を使って時間を記録するようになり、時間の使い方も第二段階に達しました。
現在、私たちのタイミングツールはコールド原子時計にアップグレードされました。 たとえば、我が国の北斗航法衛星システムは原子時計を使用して時刻を記録しており、その計時精度はナノ秒レベル (1ns=10^-9s) に達しています。私たちは空間と時間を結合しました。時間を通して空間を計算し、空間内の時間を変換することができます。
追伸:私はかつて公園で、中国科学院の博士指導者である徐英氏の北斗に関する講演を聞いたことがありますが、人間の創造性と中国の強力な国家力に感銘を受けずにはいられませんでした。
人類の文明の進歩に伴い、タイミングツールも絶えず開発されています。これらのツールの助けを借りて、人間は時間をますます細かく分割し、時間リソースをより効率的に利用します。
時間単位
特定の時間間隔を表すために時間単位を使用します。一般的に使用される時間単位は、世紀、年、四半期、月、日、時、分、秒、ミリ秒、マイクロ秒、ナノ秒などです。現在人間が計測できる最も短い時間単位はアト秒で、これは中性パイオンの寿命であり、10^-18 秒に相当します。
人々の時間を細分化し、基準を設定していく過程は、実は人類が時間を探索し活用していく過程であるとも言えます。 私たちの時間単位の理解は、私たちが住んでいる時間と空間の理解を反映することができます。時間の単位は人類の科学文明の発展過程も反映しています。
時間
普段私たちは今9時と言いますが、実際には時間を指します。私たちが表現したいのは、9時の時点に到達したということです。大きさも方向もなく、特定の時点を表現するだけです。長さを測るのに定規を使うのと同じように、時間を測るのにも秒や時間の書かれた「定規」を使います。そして時間は、私たち全員が理解できる定規上の一定の尺度にすぎません。唯一の違いは、空間の長さは通常は一定ですが、時間は常に不可逆的に増加するということです。
2. 時間の標準化
まず第一に、時間は宇宙全体で統一されていることを認識する必要があります。 宇宙の誕生から現在まで、私たちは常に特定の時間間隔の値を使用して、経験した時間を表すことができます。これは固定値です。 それでは、なぜここでは午前9時と言われているのに、イギリスでは確かに午前1時なのでしょうか、この2つの時間は違うのではないかと疑問に思わざるを得ません。これは、後述する標準時間の問題につながります。
かつて、人間の活動範囲は比較的狭く、人間の仕事や休息に対するタイムゾーンの影響は基本的に意識されていませんでした。私たちが太陽の下で一生懸命働いているときに、地球の裏側の人々がすでに眠りに落ちているなど、私たちは想像もできません。
しかし、産業革命後、人間の生産と輸送は進歩し続け、グローバルなコラボレーションは止められない傾向になりました。 この時、人々は地球が常に西から東へ自転しており、1回転が1日であることに気づきました。経度が異なる地域では日の出の時刻が異なります。例えば、中国の北京はまだ真昼ですが、海の向こうのアメリカのニューヨークは深夜です。朝8時に電話をして、アメリカから来たXXXさんに、もう仕事に行く時間だと伝えました。相手は困惑した表情をしているはずですが、私はもう寝ようとしていました。
人々は地球の自転に関する天文学的法則を理解しているからこそ、世界的に統一された標準時刻を開発する必要があります。このようにして、地球上のあらゆる地域の現地時間(日の出と日の入りの時刻)を計算することができます。更新を促進するために現地時間に従うこと。
グリニッジ標準時 (GMT)
グリニッジとは、イギリスのロンドン郊外にあるグリニッジ天文台のことで、私たちがよく参照するグリニッジ時間は、標準時としての現地時間に基づく時間測定システムを指します。
1884年、国際経度会議は、各地の時刻を正確に表すため、イギリスのグリニッジにある天文台を通過する経度を、本初子午線と呼ばれる経度計算の開始経度とすることを決定しました。真夜中の本初子午線から計算される平均太陽時は、東に12時間ずつ増減し、統一された標準時としてグリニッジ標準時と呼ばれます。これは、地球の自転に基づいて定義された一連の時間基準であり、日常生活、天文航行、宇宙飛行、その他の人間の活動において重要な役割を果たしています。
GMTの確立により、タイムゾーンの概念も生まれました。海外のニュースを聞いていると、現地時間XX:XX、現地時間YY:yy、そしてバラバラに何が起こったのかをよく聞きます。 これは実際には、時間の表現において、異なるタイムゾーンの人々の間で時間の理解に差異が生じるのを避けるためです。
タイムゾーン(タイムゾーン)は地域の標準時間を設定します。 理論上は、15で割り切れる子午線を中心として、経度7.5度を東西に延ばしてタイムゾーンに分けられます。実際には、各国の領土は不規則であり、通常は複数のタイムゾーンにまたがっているため、国は行政区域全体における実際のタイムゾーンも規定しており、これを法定タイムゾーンと呼びます。たとえば、中国には西から東まで、東 5、東 6、東 7、東 8、東 9 の 5 つのタイム ゾーンがあります。中華人民共和国の建国後、この国は首都が東 8 のタイム ゾーンを一律に採用しました。北京を標準時としています。
協定世界時 (UTC)
UTC は GMT とよく間違われますが、実際には 2 つの表現方法はまったく異なります。
UTCの起源
人類は、地球の自転がゆっくりと衰退することを観察しましたが、一定期間が経過すると、地球が1回転するのにかかる時間は現在の24時間より長くなるため、GMT時間は不要になります。標準時間として使用するのに適しています。現在の標準時は原子時計によって計時される協定世界時であり、国際度量衡局と国際地球回転局 (IERS) によって維持される時間スケールです。標準周波数および時報。
それでは、なぜまた UTC が必要なのでしょうか?実際、これは地球そのものの「回転」です。
私たちは地球が一回転するのに 24 時間かかると一般的に信じていますが、地球の自転が遅いため、24 時間経過しても地球は完全に 1 回転しない可能性があります。地球が完全に回転するまで、時計の時間は地球が一回転するのを待たなければなりません。これが協定世界時における「調整された」という言葉の意味です。 UTC 時間は実際には国際原子時 (TAI) よりも遅いです。
注: 秒は基本的な国際時間単位です。現在の国際標準の 1 秒は、セシウム 133 原子の基底状態の 2 つの超微細エネルギー準位間の遷移に相当する 9,192,631,770 サイクルの放射線の継続時間です。率直に言って、TAI 時間は原子法に基づいて定義されており、この時間は長期間変更されません。 UTC は地球の自転周期に合わせて設定された時刻で、地球の自転の遅れを補うために世界中の時計を停止します。その補正と同期のメカニズムが IERS です。世界のすべての国は、世界時間の誤差の少ない同期を確保するために、UTC 時間とそれぞれの国のタイムゾーンに基づいて現地時間を決定します。
うるう秒
UTCは、地球の自転速度の低下による影響を排除するために、閏秒(うるう秒)を追加することで時刻を修正します。うるう秒は、地球の自転の減速によって生じる原子時計との時差を調整するために意図的に設定されています。うるう秒がなければ、おそらく数万年後には正午12時が午前0時になり、暦の上では冬が夏になり、生産と生活全体が変わります。混沌とするだろう。
うるう秒の導入時期は、UTC-TAIの進化の違いに応じて毎年6月と12月末であり、半年ごとにうるう秒の追加が必要かどうかが発表されます(これはIERSが行っていることです) )。
前回の閏秒導入時刻は UTC 2015-6-30 23:59:60 で、次の閏秒導入時刻は次のとおりです:
2016-12-31 23:59:592016-12-31 23:59 : 602017-01-01 00:00:00
2015-07-01 00:00:00 UTC と 2017-01-01 00:00:00 UTC の時差は、UTC - TAI = -36 秒です。つまり、私たちの UTC 時間標準は、実際の原子時計の時間よりも人為的に 36 秒遅くなります。
PS1: 36 秒長く生きられたと感じていますか? PS2: 現在人間が使用している時間のほとんどはすでに UTC 時間ですが、多くの場合、GMT のタイムゾーン分割ルールがまだ保持されているため、多くの場所でまだ GMT 時間が表示されています。
北京時間 (中国標準時、CST)
再び我が国の標準時について話しましょう。北京時間は北京で決定されているのではなく、臨潼にある中国科学院国家時刻サービスセンター(国家時報局)にある9台のセシウム原子時計(セシウム)によって決定されています。 、陝西省と中国領土の幾何学的中心である陝西省浦城市の時計)と2つの水素原子時計セットは、正確な比較と計算によって実現され、衛星を介して世界中の時刻サービス部門とリアルタイムで比較することによって決定されます。 。国内の機器は、国家時刻サービスセンターが提供する NTP (Network Time Protocol) サーバーを介して現地時間に同期できます。具体的な使い方はこちらでご覧いただけます。
Mac では、次のコマンドと指定した NTP サーバーを使用して時刻を調整できます:
➜ ~ sudo ntpdate -u cn.pool.ntp.org
1 Nov 03:20:08 ntpdate[84376]: 時刻を調整するサーバー 59.46.44.253 オフセット 0.014804 秒
➜ ~
3. 概要
記事の冒頭で述べた内容に戻り、new Date() がデータを出力しており、すべての内容が明確になります:
GMT,これはグリニッジ標準時を表しますが、ここでの GMT の意味は次のとおりです。時間に使用されるタイムゾーンは GMT 標準であり、使用される時間は UTC 時間です
+0800 は現在時間と標準時間の時差を表し、分まで正確です。 +0800 は、現在時刻が UTC 時間より 8 時間早いことを意味します
CST は北京時間を指します
完了!
4. 追記
プログラミング言語には多くの詳細があり、そこには多くの場合、素晴らしい知恵が含まれています。この記事で取り上げた時間を例として挙げてみましょう。いくつかの簡単な言葉には、ここ数百年にわたる人類の科学技術文明の発展の成果が含まれており、また、そのすべての部分を味わう価値があります。