- すべての実装されたインタフェース:
Serializable
,Cloneable
,Comparable<Date>
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に同期していますが、うるう秒の調整はされません。 興味深いソースは、米国海軍天文台(USNO)です:
https://www.usno.navy.mil/USNO
"時間のシステム"に関する資料は:
https://www.usno.navy.mil/USNO/time/master-clock/systems-of-time
UT、UT1、およびUTCを含む様々な異なる時間システムの記述を有します。
年、月、日、時間、分、秒の値を受け取るか返すクラスDate
のすべてのメソッドにおいて、次の表示が使用されます。
- 年yは整数y
- 1900
によって表されます。 - 月は0 - 11の整数で表されます。0は1月、1は2月、そして11は12月を意味します。
- 日(月の何日目)は通常どおり1 - 31の整数で表されます。
- 時間は0 - 23の整数で表されます。 このため、深夜零時から午前1時までの時間は時刻0であり、正午から午後1時までの時間は時刻12を意味します。
- 分は通常どおり0 - 59の整数で表されます。
- 秒は0 - 61の整数で表されます。値60および61は、うるう秒のためにだけ、そして実際にうるう秒を正確に追跡するJavaの実装だけで発生します。 現在使われているうるう秒の算出法では、2回のうるう秒が同じ分に発生することはきわめてまれですが、この仕様はISO Cによる日付および時刻の規約に従います。
すべての場合において、この目的でメソッドに与えられた引数は指定された範囲に入る必要はありません。たとえば、日付を1月32日として指定した場合は、2月1日と解釈されます。
- 導入されたバージョン:
- 1.0
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ説明Date()
Date
オブジェクトを割り当て、初期化します。これによって、このオブジェクトは、割り当てられたときの時刻を、もっとも近いミリ秒単位で表します。Date
(int year, int month, int date) 非推奨。Date
(int year, int month, int date, int hrs, int min) 非推奨。JDK version 1.1以降は、Calendar.set(year+1900, month, date, hrs, min)
またはGregorianCalendar(year+1900, month, date, hrs, min)
に置き換えられています。Date
(int year, int month, int date, int hrs, int min, int sec) 非推奨。JDK version 1.1以降は、Calendar.set(year+1900, month, date, hrs, min, sec)
またはGregorianCalendar(year+1900, month, date, hrs, min, sec)
に置き換えられています。Date
(long date) Date
オブジェクトを割り当て、初期化します。これによって、このオブジェクトは、「元期」(すなわち1970年1月1日00:00:00 GMT)である標準時からの指定されたミリ秒数を表します。非推奨。JDK Version 1.1以降は、DateFormat.parse(String s)
に置き換えられています。 -
メソッドのサマリー
修飾子と型メソッド説明boolean
この日付が、指定された日付より後にあるかどうかを判定します。boolean
この日付が、指定された日付より前にあるかどうかを判定します。clone()
このオブジェクトのコピーを返します。int
順序付けのために2つのDateを比較します。boolean
2つの日付が等しいかどうかを比較します。static Date
Instant
オブジェクトからDate
のインスタンスを取得します。int
getDate()
非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.DAY_OF_MONTH)
に置き換えられています。int
getDay()
非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.DAY_OF_WEEK)
に置き換えられています。int
getHours()
非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.HOUR_OF_DAY)
に置き換えられています。int
非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.MINUTE)
に置き換えられています。int
getMonth()
非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.MONTH)
に置き換えられています。int
非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.SECOND)
に置き換えられています。long
getTime()
このDate
オブジェクトで表される、1970年1月1日00:00:00 GMTからのミリ秒数を返します。int
非推奨。JDK Version 1.1以降は、-(Calendar.get(Calendar.ZONE_OFFSET)+Calendar.get(Calendar.DST_OFFSET))/(60 * 1000)
に置き換えられています。int
getYear()
非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.YEAR) - 1900
に置き換えられています。int
hashCode()
このオブジェクトに対するハッシュ・コード値を返します。static long
非推奨。JDK Version 1.1以降は、DateFormat.parse(String s)
に置き換えられています。void
setDate
(int date) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.DAY_OF_MONTH, int date)
に置き換えられています。void
setHours
(int hours) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.HOUR_OF_DAY, int hours)
に置き換えられています。void
setMinutes
(int minutes) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.MINUTE, int minutes)
に置き換えられています。void
setMonth
(int month) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.MONTH, int month)
に置き換えられています。void
setSeconds
(int seconds) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.SECOND, int seconds)
に置き換えられています。void
setTime
(long time) このDate
オブジェクトを、1970年1月1日00:00:00 GMTからtime
ミリ秒の時点を表すように設定します。void
setYear
(int year) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.YEAR, year+1900)
に置き換えられています。非推奨。JDK version 1.1以降は、GMTTimeZone
を使用するDateFormat.format(Date date)
に置き換えられています。このDate
オブジェクトをInstant
に変換します。非推奨。JDK Version 1.1以降は、DateFormat.format(Date date)
に置き換えられています。toString()
Date
オブジェクトを次の形式のString
に変換します。static long
UTC
(int year, int month, int date, int hrs, int min, int sec) 非推奨。JDK Version 1.1以降は、Calendar.set(year+1900, month, date, hrs, min, sec)
またはGregorianCalendar(year+1900, month, date, hrs, min, sec)
に置き換えられています。UTCTimeZone
を使用し、Calendar.getTime().getTime()
があとに続きます。
-
コンストラクタの詳細
-
Date
public Date()Date
オブジェクトを割り当て、初期化します。これによって、このオブジェクトは、割り当てられたときの時刻を、もっとも近いミリ秒単位で表します。- 関連項目:
-
Date
public Date(long date) Date
オブジェクトを割り当て、初期化します。これによって、このオブジェクトは、「元期」(すなわち1970年1月1日00:00:00 GMT)である標準時からの指定されたミリ秒数を表します。- パラメータ:
date
- 1970年1月1日00:00:00 GMTからのミリ秒数。- 関連項目:
-
Date
@Deprecated public Date(int year, int month, int date) 非推奨。JDK version 1.1以降は、Calendar.set(year+1900, month, date)
またはGregorianCalendar(year+1900, month, date)
に置き換えられています。Date
オブジェクトを割り当て、初期化します。これによって、このオブジェクトは、ローカル時間の深夜零時を表します。これは、year
、month
、date
引数で指定された日の始めです。- パラメータ:
year
- 年から1900を引いたもの。month
- 0 - 11の月。date
- 1 - 31の月の日。- 関連項目:
-
Date
@Deprecated public Date(int year, int month, int date, int hrs, int min) 非推奨。JDK version 1.1以降は、Calendar.set(year+1900, month, date, hrs, min)
またはGregorianCalendar(year+1900, month, date, hrs, min)
に置き換えられています。Date
オブジェクトを割り当て、それを初期化します。これによって、オブジェクトはyear
、month
、date
、hrs
、およびmin
引数で指定された分の開始時点のインスタントをローカル・タイムゾーンで表します。- パラメータ:
year
- 年から1900を引いたもの。month
- 0 - 11の月。date
- 1 - 31の月の日。hrs
- 0 - 23の時。min
- 0 - 59の分。- 関連項目:
-
Date
@Deprecated public Date(int year, int month, int date, int hrs, int min, int sec) 非推奨。JDK version 1.1以降は、Calendar.set(year+1900, month, date, hrs, min, sec)
またはGregorianCalendar(year+1900, month, date, hrs, min, sec)
に置き換えられています。Date
オブジェクトを割り当て、それを初期化します。これによって、オブジェクトはyear
、month
、date
、hrs
、min
、およびsec
引数で指定された秒の開始時点のインスタントをローカル・タイムゾーンで表します。- パラメータ:
year
- 年から1900を引いたもの。month
- 0 - 11の月。date
- 1 - 31の月の日。hrs
- 0 - 23の時。min
- 0 - 59の分。sec
- 0 - 59の秒。- 関連項目:
-
Date
@Deprecated public Date(String s) 非推奨。JDK Version 1.1以降は、DateFormat.parse(String s)
に置き換えられています。Date
オブジェクトを割り当て、初期化します。これによって、このオブジェクトは、文字列s
に指定された日付と時刻に初期化されます。これは、parse(java.lang.String)
メソッドで解釈されるのと同じように解釈されます。- パラメータ:
s
- 日付の文字列表現。- 関連項目:
-
-
メソッドの詳細
-
clone
public Object clone()このオブジェクトのコピーを返します。 -
UTC
@Deprecated public static long UTC(int year, int month, int date, int hrs, int min, int sec) 非推奨。JDK Version 1.1以降は、Calendar.set(year+1900, month, date, hrs, min, sec)
またはGregorianCalendar(year+1900, month, date, hrs, min, sec)
に置き換えられています。UTCTimeZone
を使用し、Calendar.getTime().getTime()
があとに続きます。引数に基づいて日付と時刻を判定します。 引数は、年、月、月の日、日の時間、時間内の分、および分内の秒として解釈されます。これは、引数がローカル・タイムゾーンではなくUTCに対して相対的に解釈される点を除き、6つの引数を持つDate
コンストラクタの場合とまったく同じです。 返された時間は、元期(1970年1月1日00:00:00 GMT)からのミリ秒で測定された時間間隔として表されます。- パラメータ:
year
- 年から1900を引いたもの。month
- 0 - 11の月。date
- 1 - 31の月の日。hrs
- 0 - 23の時。min
- 0 - 59の分。sec
- 0 - 59の秒。- 戻り値:
- 引数で指定された日付と時刻の1970年1月1日00:00:00 GMTからのミリ秒数。
- 関連項目:
-
parse
@Deprecated public static long parse(String s) 非推奨。JDK Version 1.1以降は、DateFormat.parse(String s)
に置き換えられています。文字列s
を日付と時間の表現として解釈しようとします。 この試みが成功すると、示された時間は、ミリ秒数で測定された元期(1970年1月1日00:00:00 GMT)からの時間間隔として返され表されます。 試行が失敗すると、IllegalArgumentException
がスローされます。多くの構文が可能です。IETF標準日付構文Sat, 12 Aug 1995 13:30:00 GMTが認識されます。 さらに、米国大陸のタイムゾーン省略形も認識されますが、一般的な使用では、タイムゾーン・オフセット「Sat, 12 Aug 1995 13:30:00 GMT+0430」(グリニッジ子午線の西、4時間30分)を使用するようにしてください。 タイムゾーンを指定しないと、ローカル・タイムゾーンが使用されます。 GMTとUTCは同等とみなされます。
文字列
s
は左から右に処理され、目的のデータが検索されます。 ASCIIカッコ文字(
および)
内にあるs
のマテリアルは無視されます。 カッコは入れ子にできます。 それ以外の場合、s
内で許可される文字は、次のASCII文字のみです:
および空白文字。abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789,+-:/
10進数の連続は10進数として処理されます。
- 数値の前に
+
または-
が付けられ、年がすでに認識されている場合、その数値はタイムゾーン・オフセットです。 数値が24より小さい場合、それは時間で測定されるオフセットです。 そうでない場合は、数値は区読文字のない24時間形式で表された分のオフセットです。 先行する-
は、西方向オフセットを意味します。 タイムゾーン・オフセットは、常にUTC (グリニッジ)を基準とします。 したがって、たとえば、文字列内で-5
が発生すると、"グリニッジから5時間西"を意味し、+0430
は"グリニッジから4時間30分東"を意味します。 文字列にGMT
、UT
またはUTC
を冗長で指定できます(例:GMT-5
またはutc+0430
)。 - 以下の条件の1つがtrueの場合、数値は年とみなされます。
- 数値は70以上で、そのあとに空白、カンマ、スラッシュ、または終了文字列が続く
- 数値は70未満で、月と月の日付の両方が認識されている
SimpleDateFormat
で使用される100より少ない年の解釈とは少し異なります。 - 数値の後にコロンが続く場合、その数値は時間とみなされます。ただし、時間がすでに認識されている場合は、数値は分とみなされます。
- 数値の後にスラッシュが続く場合、1か月がすでに認識されていないかぎり、(
0
から11
の範囲の数値を生成するには、1ずつ減らします)月とみなされます。その場合は、その月の日付とみなされます。 - 数値の後に空白、カンマ、ハイフン、または終了文字列が続く場合、そして時間がすでに認識されていて、分がまだ認識されていない場合、その数値は分とみなされます。分がすでに認識されていて、秒がまだ認識されてない場合、数値は秒とみなされます。それ以外の場合、数値は日とみなされます。
文字の連続は単語とみなされ、以下のように処理されます。
- 大文字と小文字を無視して
AM
に一致する単語は、(ただし、時間が認識されていないか、1
より小さいか、12
より大きい場合、解析は失敗)を無視します。 - 大文字と小文字を無視して
PM
に一致する単語は、12
を時間(ただし、時間が認識されていないか、1
より小さいか、12
より大きい場合、解析は失敗)に追加します。 SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY
、またはSATURDAY
のいずれかのプレフィクスに一致するワードは、大文字と小文字を無視して無視されます。 たとえば、sat, Friday, TUE
およびThurs
は無視されます。- それ以外の場合は、
JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER
、またはDECEMBER
のいずれかのプレフィクスに一致し、大文字小文字を無視して、ここで指定した順序でそれらを考慮するワードは、月の指定として認識され、数値 (0
から11
)に変換されます。 たとえば、aug, Sept, april
およびNOV
は月として認識されます。Ma
も同様で、MAY
ではなくMARCH
として認識されるMa
です。 GMT, UT
またはUTC
に一致する単語は、大文字と小文字を無視してUTCを参照するものとして扱われます。EST, CST, MST
、またはPST
に一致する単語は、大文字と小文字を無視して、それぞれグリニッジの5時間、6時間、7時間、または8時間西の北米のタイムゾーンを参照すると認識されます。 夏時間中に、EDT, CDT, MDT
、またはPDT
と一致する語は、大文字と小文字を無視して、それぞれ同じタイムゾーンを参照すると認識されます。
文字列sの全体が走査されると、それは2つの方法のどちらかで時間に変換されます。 タイムゾーンまたはタイムゾーン・オフセットが認識されている場合、年、月、日、時、分、および秒はUTCで解釈され、タイムゾーン・オフセットが適用されます。 そうでない場合、年、月、日、時、分、および秒はローカル・タイムゾーンで解釈されます。
- パラメータ:
s
- 日付として解析される文字列。- 戻り値:
- 文字列引数で表された1970年1月1日00:00:00 GMTからのミリ秒数。
- 関連項目:
- 数値の前に
-
getYear
@Deprecated public int getYear()非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.YEAR) - 1900
に置き換えられています。Date
オブジェクトで表されるインスタントを含むかまたはそのインスタントで始まる年から1900を引いた結果の値を、ローカル・タイムゾーンで解釈して返します。- 戻り値:
- 1900を引いた、この日付が表す年
- 関連項目:
-
setYear
@Deprecated public void setYear(int year) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.YEAR, year+1900)
に置き換えられています。このDate
オブジェクトの年を指定した値に1900を加えた値に設定します。 このDate
オブジェクトは、指定された年のある時点を、以前と同じように月、日、時、分、および秒を使用してローカル・タイムゾーンで表すように変更されます。 たとえば日付が2月29日だった場合、年はうるう年ではないと設定され、新しい日付は3月1日として処理されます。- パラメータ:
year
- 年の値。- 関連項目:
-
getMonth
@Deprecated public int getMonth()非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.MONTH)
に置き換えられています。このDate
オブジェクトで表されるインスタント・イン・タイムを含む月または開始する月を表す数値を返します。 返される値は0
と11
の間であり、値0
は1月を表します。- 戻り値:
- この日付が表す月
- 関連項目:
-
setMonth
@Deprecated public void setMonth(int month) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.MONTH, int month)
に置き換えられています。この日付の月を、指定された値に設定します。 このDate
オブジェクトは、ローカル・タイムゾーンで解釈される年、日付、時間、分および秒を前と同じにして、指定した月内の時点を表すように変更されます。 たとえば日付が10月31日の場合、そして月が6月に設定されている場合、新しい日付は7月1日として処理されます。6月は30日しかないからです。- パラメータ:
month
- 0 - 11の月の値。- 関連項目:
-
getDate
@Deprecated public int getDate()非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.DAY_OF_MONTH)
に置き換えられています。このDate
オブジェクトで表される月の日を返します。 返される値は、ローカル・タイム・ゾーンで解釈される、このDate
オブジェクトによって表されるインスタント・イン・タイムを含む、または開始する月の日を表す1
と31
の間です。- 戻り値:
- この日付で表される月の日
- 関連項目:
-
setDate
@Deprecated public void setDate(int date) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.DAY_OF_MONTH, int date)
に置き換えられています。このDate
オブジェクトの日付を指定された値に設定します。 このDate
オブジェクトは、ローカル・タイム・ゾーンで解釈される年、月、時間、分および秒を前と同じにして、月の指定日内の時点を表すように変更されます。 たとえば日付が4月30日の場合に、日付が31に設定されると、4月は30日しかないので、それは5月1日として処理されます。- パラメータ:
date
- 1 - 31の月の日の値。- 関連項目:
-
getDay
@Deprecated public int getDay()非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.DAY_OF_WEEK)
に置き換えられています。この日付で表される週の日を返します。 戻り値(0
=日曜日、1
=月曜日、2
=火曜日、3
=水曜日、4
=木曜日、5
=金曜日、6
=土曜日)は、ローカル・タイム・ゾーンで解釈される、このDate
オブジェクトによって表されるインスタント・イン・タイムを含む曜日または開始する曜日を表します。- 戻り値:
- この日付で表される曜日
- 関連項目:
-
getHours
@Deprecated public int getHours()非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.HOUR_OF_DAY)
に置き換えられています。このDate
オブジェクトで表される時間を返します。 戻り値は、ローカル・タイム・ゾーンで解釈される、このDate
オブジェクトによって表されるインスタント・イン・タイムを含む、またはそれで始まる1日の時間を表す数値(0
から23
)です。- 戻り値:
- この日付が表す時
- 関連項目:
-
setHours
@Deprecated public void setHours(int hours) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.HOUR_OF_DAY, int hours)
に置き換えられています。このDate
オブジェクトの時間を指定された値に設定します。 このDate
オブジェクトは、ローカル・タイムゾーンで解釈される年、月、日付、分および秒を前と同じにして、1日の指定した時間内の時点を表すように変更されます。- パラメータ:
hours
- 時間の値。- 関連項目:
-
getMinutes
@Deprecated public int getMinutes()非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.MINUTE)
に置き換えられています。この日付で表される時を過ぎた分数を、ローカル・タイムゾーンで返します。 返される値は、0
-59
です。- 戻り値:
- この日付で表される時を過ぎた分数
- 関連項目:
-
setMinutes
@Deprecated public void setMinutes(int minutes) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.MINUTE, int minutes)
に置き換えられています。このDate
オブジェクトの分を指定された値に設定します。 このDate
オブジェクトは、ローカル・タイム・ゾーンで解釈される年、月、日付、時間および秒を前と同じにして、指定された時間内の時点を表すように変更されます。- パラメータ:
minutes
- 分の値。- 関連項目:
-
getSeconds
@Deprecated public int getSeconds()非推奨。JDK Version 1.1以降は、Calendar.get(Calendar.SECOND)
に置き換えられています。この日付で表される、分を過ぎた秒数を返します。 返される値は、0
-61
です。 値60
および61
は、うるう年を考慮するJava仮想マシンだけで発生します。- 戻り値:
- この日付で表される、分を過ぎた秒数
- 関連項目:
-
setSeconds
@Deprecated public void setSeconds(int seconds) 非推奨。JDK Version 1.1以降は、Calendar.set(Calendar.SECOND, int seconds)
に置き換えられています。このDate
の秒を指定された値に設定します。 このDate
オブジェクトは、ローカル・タイム・ゾーンで解釈される年、月、日付、時間および分を前と同じにして、指定した分内の時点を表すように変更されます。- パラメータ:
seconds
- 秒の値。- 関連項目:
-
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
- 日付。- 戻り値:
true
は、このDate
オブジェクトによって表される時間のインスタントがwhen
によって表されるインスタントよりも厳密に早い場合にのみ、false
です。- 例外:
NullPointerException
-when
がnullの場合。
-
after
public boolean after(Date when) この日付が、指定された日付より後にあるかどうかを判定します。- パラメータ:
when
- 日付。- 戻り値:
true
は、このDate
オブジェクトによって表されるインスタントが、when
によって表されるインスタントよりも厳密に遅くなっている場合にのみ、false
。それ以外の場合はfalse
。- 例外:
NullPointerException
-when
がnullの場合。
-
equals
public boolean equals(Object obj) 2つの日付が等しいかどうかを比較します。 引数がnull
ではなく、かつ、このオブジェクトとミリ秒まで同じ時点を表すDate
オブジェクトであれば、true
を返します。したがって、2つの
Date
オブジェクトは、getTime
メソッドが両方に対して同じlong
を返す場合だけ等しいものとみなされます。 -
compareTo
public int compareTo(Date anotherDate) 順序付けのために2つのDateを比較します。- 定義:
compareTo
、インタフェースComparable<Date>
- パラメータ:
anotherDate
- 比較対象のDate
。- 戻り値:
- 引数DateがこのDateと等しい場合は値
0
。このDateが引数Dateより前の場合は0
より小さい値。このDateが引数Dateより後の場合は0
より大きい値。 - 例外:
NullPointerException
-anotherDate
がnullの場合。- 導入されたバージョン:
- 1.2
-
hashCode
public int hashCode()このオブジェクトに対するハッシュ・コード値を返します。 結果は、getTime()
メソッドによって返されるプリミティブlong
値の2つの半分のうち、排他ORになります。 すなわち、ハッシュ・コードは次の式の値です。(int)(this.getTime()^(this.getTime() >>> 32))
-
toString
public String toString()Date
オブジェクトを次の形式のString
に変換します。
説明:dow mon dd hh:mm:ss zzz yyyy
dow
は、週の曜日 (Sun, Mon, Tue, Wed, Thu, Fri, Sat
)です。mon
は、月 (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
)です。dd
は、10進数2桁の月の日付 (01
から31
)です。hh
は、10進数2桁の日の時間 (00
から23
)です。mm
は、10進数2桁の時間の分 (00
から59
)です。ss
は、分内の秒 (00
から61
まで、10進数2桁)です。zzz
は、タイム・ゾーン(夏時間を反映)です。 標準タイム・ゾーンの略語には、メソッドparse
で認識されるものが含まれます。 タイム・ゾーン情報が使用できない場合、zzz
は空です - つまり、文字はまったく構成されていません。yyyy
は、小数点以下4桁の年です。
-
toLocaleString
@Deprecated public String toLocaleString()非推奨。JDK Version 1.1以降は、DateFormat.format(Date date)
に置き換えられています。実装に依存する形式で、このDate
オブジェクトの文字列表現を作成します。 これは、Javaアプリケーションがどこで稼働するにしても、そのユーザーにとってこの形式がなじみのあるものだからです。 この目的は、ISO Cのstrftime()
機能によってサポートされる「%c
」フォーマットの場合と同様です。- 戻り値:
- ロケール規則を使ったこの日付の文字列表現。
- 関連項目:
-
toGMTString
@Deprecated public String toGMTString()非推奨。JDK version 1.1以降は、GMTTimeZone
を使用するDateFormat.format(Date date)
に置き換えられています。フォームのこのDate
オブジェクトの文字列表現を作成します:
説明:d mon yyyy hh:mm:ss GMT
- dは、10進数1桁または2桁の月の日付 (
1
から31
)です。 - monは、月 (
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
)です。 - yyyyは4桁の10進数である年。
- hhは、10進数2桁の日の時間 (
00
から23
)です。 - mmは、10進数2桁の時間の分 (
00
から59
)です。 - ssは、10進数2桁の分の秒 (
00
から61
)です。 - GMT 、グリニッジ標準時を示すASCII文字"
GMT
"です。
結果はローカル・タイムゾーンに依存しません。
- 戻り値:
- インターネットのGMT規則を使った、この日付の文字列表現。
- 関連項目:
- dは、10進数1桁または2桁の月の日付 (
-
getTimezoneOffset
@Deprecated public int getTimezoneOffset()非推奨。JDK Version 1.1以降は、-(Calendar.get(Calendar.ZONE_OFFSET)+Calendar.get(Calendar.DST_OFFSET))/(60 * 1000)
に置き換えられています。Date
オブジェクトで表される時間に適切な、UTCを基準にしたローカル・タイムゾーンのオフセットを分で返します。たとえば、Massachusettsでの、グリニッジの西5時間ゾーン:
1996年2月14日のため、標準時(東部標準時)が使用されています。オフセットは、UTCから5時間です。new Date(96, 1, 14).getTimezoneOffset() returns 300
1996年6月1日のため、夏時間(東部夏時間)が使用されています。オフセットは、UTCから4時間だけです。new Date(96, 5, 1).getTimezoneOffset() returns 240
このメソッドは計算したかのように同じ結果を生成します。
(this.getTime() - UTC(this.getYear(), this.getMonth(), this.getDate(), this.getHours(), this.getMinutes(), this.getSeconds())) / (60 * 1000)
- 戻り値:
- 現在のタイムゾーンに対する分で表されたタイムゾーン・オフセット。
- 関連項目:
-
from
Instant
オブジェクトからDate
のインスタンスを取得します。Instant
はナノ秒の精度を使用するのに対し、Date
はミリ秒の精度を使用します。 変換では超過分の精度情報は、ナノ秒単位で100万分の1の整数除算が行われたかのように切り捨てられます。Instant
には、Date
より遠い未来または過去にある時系列上の時点を格納できます。 このシナリオでは、このメソッドは例外をスローします。- パラメータ:
instant
- 変換するインスタント- 戻り値:
- 指定されたインスタントと同じ時系列上のインスタントを表す
Date
- 例外:
NullPointerException
-instant
がnullの場合。IllegalArgumentException
- そのインスタントがDate
として表すには大きすぎる場合- 導入されたバージョン:
- 1.8
-
toInstant
public Instant toInstant()このDate
オブジェクトをInstant
に変換します。この変換では、時系列上でこの
Date
と同じ時点を表すInstant
を作成します。- 戻り値:
- この
Date
オブジェクトと同じ時系列上の時点を表すインスタント - 導入されたバージョン:
- 1.8
-
Calendar.set(year+1900, month, date)
またはGregorianCalendar(year+1900, month, date)
に置き換えられています。