Date (Java)
読み:デイト
外語:Date
Javaにおける、日時管理用のクラス。
概要
Dateクラスは、java.lang.Objectクラスのサブクラスである。
特徴
用途
Javaで、特定の時点を表わす場合に使われる。Date(日付)という名前だが、時刻を保持することもできる。
なお、JDK 1.1以降、日付と時間フィールド間の変換はCalendarクラス、日付文字列のフォーマットと構文解析はDateFormatクラスをおのおの使うよう変更されており、Dateクラスに残されている当該機能の古いメソッドは今では使用が推奨されていない。
精度と範囲
1970(昭和45)年1月1日以降の時刻を表わすことができる。精度はミリ秒である。
Javaの日時管理は、Cに存在した諸問題の解決を念頭に入れて設計された。
具体的には、ISO Cと同じく1970年1月1日 00:00:00(GMT)を基準とする(これをThe Epochという)が、時刻は、ここからの経過ミリ秒を符号あり64ビット長変数で扱う仕様となっている。
結果として、符号を考慮すると有効桁は63ビットであり、「1970年1月1日 00:00:00 + 0x7fffffffffffffffミリ秒」までを扱うことが可能である。
これは、殆どのCの実装よりも高精度であり、かつ遠い未来までの時刻を表わす性能を有している。
閏年の計算方法が変更されないという前提では、292278994(令和292276976)年8月17日にカウンターはオーバーフローし、時刻は予期せぬ値を指すものと考えられる。これは2億9千万年問題として知られている。
再検索