java.util
クラス Date

java.lang.Object
  |
  +--java.util.Date

public class Date
extends Object

クラス Date は、特定の時点を表すもので、その精度はミリ秒です。

このクラスは JDK 1.3 を元にして MID プロファイル用にサブセット化されています。API には、2 つの追加機能がありました。まず、日付を年、月、日、時、分、秒の値として解釈することができました。さらに、日付文字列のフォーマットと解析を行うことができました。しかし、これらの機能の API は、各国語に対応するものではありませんでした。JDK 1.1 では、日付と時間フィールドの間の変換には Calendar クラスを、日付文字列のフォーマットと解析には DateFormat クラスをそれぞれ使用してください。Date の対応するメソッドは推奨されません。

Date クラスは、UTC (Universal Coordinate Time) を反映することを意図していますが、Java Virtual Machine のホスト環境によってはこれを正確に行えない可能性があります。ほとんどすべての最近のオペレーティングシステムは、あらゆる場合において 1 日 = 24x60x60 = 86400 秒と仮定しています。しかし、UTC においては毎年約 1 回か 2 回「うるう秒」と呼ばれる余分な秒が発生します。うるう秒は常にその日の最後の秒として追加され、それは常に 12 月 31 日かまたは 6 月 30 日です。たとえば、1995 年の最後の分は、うるう秒の追加により長さが 61 秒でした。ほとんどのコンピュータのクロックは、うるう秒の違いを反映できるほど正確ではありません。

関連項目:
TimeZone, Calendar

コンストラクタの概要
Date()
          Date オブジェクトを割り当て、初期化します。
Date(long date)
          Date オブジェクトを割り当て、初期化します。
 
メソッドの概要
 boolean equals(Object obj)
          2 つの日付が等しいかどうかを比較します。
 long getTime()
          Date オブジェクトで表される、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数を返します。
 int hashCode()
          このオブジェクトに対するハッシュコード値を返します。
 void setTime(long time)
          Date オブジェクトを、1970 年 1 月 1 日 00:00:00 GMT から time ミリ秒の時点を表すように設定します。
 
クラス java.lang.Object から継承したメソッド
getClass, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Date

public Date()
Date オブジェクトを割り当て、初期化します。これによって、割り当てられたときの時刻を、もっとも近いミリ秒単位で表します。
関連項目:
System.currentTimeMillis()

Date

public Date(long date)
Date オブジェクトを割り当て、初期化します。これによって、このオブジェクトは、「エポック」(すなわち、1970 年 1 月 1 日 00:00:00 GMT) である標準時からの指定されたミリ秒数を表します。
パラメータ:
date - 1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数
関連項目:
System.currentTimeMillis()
メソッドの詳細

getTime

public long getTime()
Date オブジェクトで表される、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数を返します。
戻り値:
この日付で表される、1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数

setTime

public void setTime(long time)
Date オブジェクトを、1970 年 1 月 1 日 00:00:00 GMT から time ミリ秒の時点を表すように設定します。
パラメータ:
time - ミリ秒数

equals

public boolean equals(Object obj)
2 つの日付が等しいかどうかを比較します。引数が null ではなく、かつ、このオブジェクトとミリ秒まで同じ時点を表す Date オブジェクトであれば、true を返します。

したがって、2 つの Date オブジェクトは、getTime メソッドが両方に対して同じ long を返す場合だけ等しいものと見なされます。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較対象のオブジェクト
戻り値:
オブジェクトが同じである場合は true、そうでない場合は false
関連項目:
getTime()

hashCode

public int hashCode()
このオブジェクトに対するハッシュコード値を返します。結果は、getTime() メソッドによって返されるプリミティブ long 値の上位半分と下位半分の排他的論理和です。すなわち、ハッシュコードは次の式の値です。
 (int)(this.getTime()^(this.getTime() >>> 32))
オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値