15章日時
現実の多くのアプリケーションでは日付や時刻の処理が必要になります。残念ながらJavaScriptのオブジェクトDateの機能は限られています(名前はDateですが、このオブジェクトは日付だけでなく時刻関連の処理も行います)。標準のDateオブジェクトだけでは必要な機能が満たされないというケースに備えて、この章ではライブラリMoment.jsもあわせて紹介します。
もともとJavaScriptのDateオブジェクトは、Netscapeのプログラマー、Ken SmithがJavaのjava.util.Dateを移植してできたものです。ですから「JavaScriptがJavaと何の関係もない」というのは必ずしも正しい表現ではなく、誰かに両者の関係を尋ねられたら、「まあ、Dateオブジェクトと基本的な構文が共通であること以外は、ほとんどないですね」と答えておけば間違いのないところでしょう。
15.1 タイムゾーン、タイムスタンプ、UNIXエポック
率直に言って、現在地球上の大部分の地域で使われているグレゴリオ暦は複雑すぎて扱いが面倒です。60秒で1分、60分で1時間、24時間で1日と「繰り上がり」は不規則で、閏年や閏秒もあります。さらにタイムゾーンが複雑さに拍車をかけています。しかし世界中で使われている以上、これを受け入れないわけにはいきません。
日時を所定の時刻からの秒数で表せば、数直線上できちんと順序づけられますし、計算も単純でコンピュータで処理するためには理想的な方法と言えるかもしれません。
しかし、人間のコミュニケーションではうまくいきません。「ねえ、1487062800000に夕飯でもどう?」(1487062800000は、日本標準時で2017年2月14日の午後6時です)と言われても、困ってしまいます。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access