Foundation 1.1.2

java.util
クラス Date

java.lang.Object
  上位を拡張 java.util.Date
すべての実装されたインタフェース:
Serializable, Cloneable, Comparable

public class Date
extends Object
implements Serializable, Cloneable, Comparable

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

JDK 1.1 より前の Date クラスには、2 つの追加機能がありました。まず、日付を年、月、日、時、分、秒の値として解釈することができました。さらに、日付文字列のフォーマットを構文解析することができました。しかし、これらの機能の API は国際化の対象にはなりませんでした。JDK 1.1 からは、日付と時間フィールドの間の変換には Calendar クラスを、日付文字列のフォーマットと構文解析には DateFormat クラスをそれぞれ使用する必要があります。Date の対応するメソッドは推奨されません。  

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

コンピュータ標準のいくつかは、GMT (Greenwich Mean Time、グリニッジ標準時) によって定義されています。これは UT (Universal Time) と同等です。GMT はこの標準の「一般的な」名前です。UT は、この標準の「科学的な」名前です。UTC と UT の違いは、UTC が原子時計に基づくのに対して、UT は天文学的な観測に基づくことです。これは実用的な目的からするとほとんど違いはありません。地球の自転は一定ではないので (地球は複雑に遅くなったり速くなったりする)、UT は常に一定に流れるわけではありません。うるう秒は、UTC を UT1 の 0.9 秒以内に維持する必要があって UTC に導入されました。この UT1 は UT のバージョンである訂正が施されています。同様にほかにも時間と日付のシステムがあります。たとえば、衛星ベースの GPS (Global Positioning System、地球位置確認システム) は UTC に同期していますが、うるう秒の調整はされません。詳細情報のソースには U.S. Naval Observatory (米国海軍天文台) があり、特に次の「Directorate of Time」、

     http://tycho.usno.navy.mil
 

および次の「Systems of Time」の定義を参照してください。

     http://tycho.usno.navy.mil/systime.html
 

年、月、日、時間、分、秒の値を受け取るか返すクラス Date のすべてのメソッドにおいて、次の表示が使用されます。

すべての場合において、この目的でメソッドに与えられた引数は指定された範囲に入る必要はありません。たとえば、日付を 1 月 32 日として指定した場合は、2 月 1 日と解釈されます。

導入されたバージョン:
JDK1.0
関連項目:
DateFormat, Calendar, TimeZone, 直列化された形式

コンストラクタの概要
Date()
          Date オブジェクトを割り当て、初期化します。
Date(long date)
          Date オブジェクトを割り当て、初期化します。
 
メソッドの概要
 boolean after(Date when)
          この日付が、指定された日付より後にあるかどうかを判定します。
 boolean before(Date when)
          この日付が、指定された日付より前にあるかどうかを判定します。
 Object clone()
          このオブジェクトのコピーを返します。
 int compareTo(Date anotherDate)
          順序付けのために 2 つの Date を比較します。
 int compareTo(Object o)
          この Date と別の Object を比較します。
 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 ミリ秒の時点を表すように設定します。
 String toString()
          Date オブジェクトを次の形式の String に変換します。
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, 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()
メソッドの詳細

clone

public Object clone()
このオブジェクトのコピーを返します。

オーバーライド:
クラス Object 内の clone
戻り値:
このインスタンスの複製
関連項目:
Cloneable

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 - ミリ秒数

before

public boolean before(Date when)
この日付が、指定された日付より前にあるかどうかを判定します。

パラメータ:
when - 日付
戻り値:
Date オブジェクトが表す時点が when オブジェクトの表す時点より早い場合だけ true、そうでない場合は false

after

public boolean after(Date when)
この日付が、指定された日付より後にあるかどうかを判定します。

パラメータ:
when - 日付
戻り値:
この Date オブジェクトの表す時点が when オブジェクトの表す時点より遅い場合だけ true、そうでない場合は false

equals

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

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

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

compareTo

public int compareTo(Date anotherDate)
順序付けのために 2 つの Date を比較します。

パラメータ:
anotherDate - 比較対象の Date
戻り値:
引数 Date がこの Date と等しい場合は値 0。この Date が引数 Date より前の場合は 0 より小さい値。この Date が引数 Date より後の場合は 0 より大きい値
導入されたバージョン:
1.2

compareTo

public int compareTo(Object o)
この Date と別の Object を比較します。Object が Date と等しい場合、この関数は compareTo(Date) と同じように動作します。そうでない場合、ClassCastException がスローされます。これは、Date の比較は Date 同士でしか行えないためです。

定義:
インタフェース Comparable 内の compareTo
パラメータ:
o - 比較対象の Object
戻り値:
引数がこの Date と等しい Date の場合は値 0。引数がこの Date より後の Date の場合は 0 より小さい値。引数がこの Date の前の Date の場合は 0 より大きい値
例外:
ClassCastException - 引数が Date ではない場合
導入されたバージョン:
1.2
関連項目:
Comparable

hashCode

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

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
Date オブジェクトを次の形式の String に変換します。
 dow mon dd hh:mm:ss zzz yyyy
次にそれぞれの意味を示します。

オーバーライド:
クラス Object 内の toString
戻り値:
この日付の文字列表現

Foundation 1.1.2

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。