全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
java.lang.Object | +----java.util.Date
Dateは、特定の時点を表すもので、その精度はミリ秒です。
JDK 1.1 より前のクラス Dateには、2つの追加機能がありました。まず、日付を年、月、日、時、分、秒の値として解釈することができました。さらに、日付文字列のフォーマットを解析を行うことができました。残念ながら、これらの機能の APIは、各国語に対応するものではありませんでした。
JDK 1.1では、日付と時間フィールドの間の変換には Calendarクラスを、日付文字列のフォーマットと解析には DateFormatクラスをそれぞれ使用してください。Dateの対応するメソッドは推奨されません。
Date クラスは、UTC (coordinated universal time) を反映する意図を持っていますが、Java Virtual Machine のホスト環境によっては正確にそのようにできない可能性があります。ほとんどすべての最近のオペレーティングシステムは、あらゆる場合において 1 day = 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 のすべてのメソッドにおいて、次の表示が使用されます。
- 1900 によって表される。
すべての場合において、この目的でメソッドに与えられた引数は指定された範囲に入る必要はありません;。例えば、日付を 1 月 32 日として指定した場合、2 月 1 日と解釈されます。
Dateオブジェクトを割り当て、初期化する。これによって、このオブジェクトは、割り当てられたときの時刻を、最も近いミリ秒単位で表す。
Dateオブジェクトを割り当て、初期化する。これによって、このオブジェクトは、ローカル時間の真夜中を表す。これは、year、month、date引数で指定された日の始めです。これは推奨できない。
Dateオブジェクトを割り当て、初期化する。これによって、このオブジェクトは、year、month、date、hrs、min引数で指定された日付のローカル時間の時と分を表す。これは推奨できない。
Dateオブジェクトを割り当て、初期化する。これによって、このオブジェクトは、year、month、date、hrs、min、sec引数で指定された日付のローカル時間の時と分と秒を表す。これは推奨できない。
Dateオブジェクトを割り当て、初期化する。これによって、このオブジェクトは、1970年1月1日 00:00:00 GMTからの指定されたミリ秒数に初期化される。
Dateオブジェクトを割り当て、初期化する。これによって、このオブジェクトは、文字列 sに指定された日付と時刻に初期化される。これは、parseメソッドで解釈さるのと同じように解釈される。
これは推奨できない。
public Date()
Dateオブジェクトを割り当て、初期化します。これによって、このオブジェクトは、割り当てられたときの時刻を、最も近いミリ秒単位で表します。
public Date(long date)
Dateオブジェクトを割り当て、初期化します。これによって、このオブジェクトは、1970年1月1日 00:00:00 GMTからのミリ秒数に初期化されます。
public Date(int year,
int month,
int date)
Dateオブジェクトを割り当て、初期化します。これによって、このオブジェクトは、ローカル時間の真夜中を表します。これは、year、month、date引数で指定された日の始めです。
public Date(int year,
int month,
int date,
int hrs,
int min)
Dateオブジェクトを割り当て、初期化します。これによって、このオブジェクトは、year、month、date、hrs、min引数で指定された日付のローカル時間の時と分を表します。
public Date(int year,
int month,
int date,
int hrs,
int min,
int sec)
Dateオブジェクトを割り当て、初期化します。これによって、このオブジェクトは、year、month、date、hrs、min、sec引数で指定された日付のローカル時間の時と分と秒を表します。
public Date(String s)
Dateオブジェクトを割り当て、初期化します。これによって、このオブジェクトは、文字列 sに指定された日付と時刻に初期化されます。これは、parseメソッドで解釈さるのと同じように解釈されます。
public static long UTC(int year,
int month,
int date,
int hrs,
int min,
int sec)
public static long parse(String s)
多くの構文が可能です。IETF標準日付構文 "Sat, 12 Aug 1995 13:30:00 GMT"が認識されます。さらに、U.S.大陸のタイムゾーン省略形が認識されますが、一般的な使用では、タイムゾーンオフセット "Sat, 12 Aug 1995 13:30:00 GMT+0430" (グリニッジ子午線の西、4時間 30分)を使用してください。タイムゾーンを指定しないと、ローカルタイムゾーンが使用されます。GMTと UTCは同等とみなされます。
public int getYear()
public void setYear(int year)
public int getMonth()
0から 11です。値 0は 1月を表します。
public void setMonth(int month)
public int getDate()
1から 31です。
public void setDate(int date)
public int getDay()
0から 6で、0は日曜日を表します。
public int getHours()
0から 23で、0は真夜中を表します。
public void setHours(int hours)
public int getMinutes()
0から 59です。
public void setMinutes(int minutes)
public int getSeconds()
0から 60です。値 60は、うるう秒を考慮に入れる Java仮想マシンだけで使用されます。
public void setSeconds(int seconds)
public long getTime()
public void setTime(long time)
public boolean before(Date when)
trueが、そうでなければ、false。
public boolean after(Date when)
trueが、そうでなければ、falseか返される。
public boolean equals(Object obj)
nullではなく、かつ、このオブジェクトとミリ秒まで同じ時点を表す Dateオブジェクトであれば、trueを返します。
したがって、2つの Dateオブジェクトは、getTimeメソッドが両方に対して同じ long を返す場合だけ等しいものとみなされます。
true、そうでなければ、false。
public int hashCode()
public String toString()
"Sat Aug 12 02:30:00 PDT 1995"です。
public String toLocaleString()
strftime()機能によってサポートされる "%c"フォーマットの場合と同様です。
public String toGMTString()
"12 Aug 1995 02:30:00 GMT"
です。
この場合、月の日は常に 1桁か 2桁です。他のフィールドは、示すとおりの幅です。タイムゾーンは、常に "GMT"です。
public int getTimezoneOffset()
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス