- すべての実装されたインタフェース:
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バージョン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バージョン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バージョン1.1で、Calendar.get(Calendar.DAY_OF_MONTH)
に置き換えられています。int
getDay()
非推奨。JDKバージョン1.1で、Calendar.get(Calendar.DAY_OF_WEEK)
に置き換えられています。int
getHours()
非推奨。JDKバージョン1.1で、Calendar.get(Calendar.HOUR_OF_DAY)
に置き換えられています。int
非推奨。JDKバージョン1.1で、Calendar.get(Calendar.MINUTE)
に置き換えられています。int
getMonth()
非推奨。JDKバージョン1.1で、Calendar.get(Calendar.MONTH)
に置き換えられています。int
非推奨。JDKバージョン1.1で、Calendar.get(Calendar.SECOND)
に置き換えられています。long
getTime()
Date
オブジェクトで表される、1970年1月1日00:00:00 GMTからのミリ秒数を返します。int
非推奨。JDKバージョン1.1で、-(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000)
に置き換えられています。int
getYear()
非推奨。JDKバージョン1.1で、Calendar.get(Calendar.YEAR) - 1900
に置き換えられています。int
hashCode()
このオブジェクトに対するハッシュ・コード値を返します。static long
非推奨。JDK version 1.1以降は、DateFormat.parse(String s)
に置き換えられています。void
setDate
(int date) 非推奨。JDKバージョン1.1で、Calendar.set(Calendar.DAY_OF_MONTH, int date)
に置き換えられています。void
setHours
(int hours) 非推奨。JDKバージョン1.1で、Calendar.set(Calendar.HOUR_OF_DAY, int hours)
に置き換えられています。void
setMinutes
(int minutes) 非推奨。JDKバージョン1.1で、Calendar.set(Calendar.MINUTE, int minutes)
に置き換えられています。void
setMonth
(int month) 非推奨。JDKバージョン1.1で、Calendar.set(Calendar.MONTH, int month)
に置き換えられています。void
setSeconds
(int seconds) 非推奨。JDKバージョン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バージョン1.1で、Calendar.set(Calendar.YEAR, year + 1900)
に置き換えられています。非推奨。JDKバージョン1.1で、GMTTimeZone
を使用してDateFormat.format(Date date)
に置き換えられています。このDate
オブジェクトをInstant
に変換します。非推奨。JDKバージョン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バージョン1.1で、UTCTimeZone
、Calendar.getTime().getTime()
を使用して、Calendar.set(year + 1900, month, date, hrs, min, sec)
またはGregorianCalendar(year + 1900, month, date, hrs, min, sec)
に置き換えられました。
-
コンストラクタの詳細
-
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バージョン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バージョン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バージョン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バージョン1.1で、UTCTimeZone
、Calendar.getTime().getTime()
を使用して、Calendar.set(year + 1900, month, date, hrs, min, sec)
またはGregorianCalendar(year + 1900, month, date, hrs, min, sec)
に置き換えられました。引数に基づいて日付と時刻を判定します。 それらの引数は、6つの引数を持つDate
コンストラクタの場合とまったく同様に、年、月、日、時、分、および秒として解釈されますが、この場合の引数はローカル・タイムゾーンではなくUTCを基準に解釈されます。 返された時間は、元期(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
は、対象のデータを探しながら、左から右に向かって処理されます。s
の中でASCIIカッコ文字(
および)
で囲まれているものは無視されます。 カッコは入れ子にできます。 それ以外の場合、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
の範囲の数値を生成する)。ただし月がすでに認識されている場合、その数値は日とみなされます。 - 数値の後に空白、カンマ、ハイフン、または終了文字列が続く場合、そして時間がすでに認識されていて、分がまだ認識されていない場合、その数値は分とみなされます。分がすでに認識されていて、秒がまだ認識されてない場合、数値は秒とみなされます。それ以外の場合、数値は日とみなされます。
文字の連続は単語とみなされ、以下のように処理されます。
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
はMARCH
として認識されますが、MAY
としては認識されません。 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バージョン1.1で、Calendar.get(Calendar.YEAR) - 1900
に置き換えられています。Date
オブジェクトで表されるインスタントを含むかまたはそのインスタントで始まる年から1900を引いた結果の値を、ローカル・タイムゾーンで解釈して返します。- 戻り値:
- 1900を引いた、この日付が表す年
- 関連項目:
-
setYear
@Deprecated public void setYear(int year) 非推奨。JDKバージョン1.1で、Calendar.set(Calendar.YEAR, year + 1900)
に置き換えられています。Date
オブジェクトの年を、指定された値に1900を足したものに設定します。 このDate
オブジェクトは、指定された年のある時点を、以前と同じように月、日、時、分、および秒を使用してローカル・タイムゾーンで表すように変更されます。 たとえば日付が2月29日だった場合、年はうるう年ではないと設定され、新しい日付は3月1日として処理されます。- パラメータ:
year
- 年の値。- 関連項目:
-
getMonth
@Deprecated public int getMonth()非推奨。JDKバージョン1.1で、Calendar.get(Calendar.MONTH)
に置き換えられています。Date
オブジェクトで表されるインスタントを含むかまたはそのインスタントで始まる月を表す数値を返します。 返される値は0
と11
の間であり、値0
は1月を表します。- 戻り値:
- この日付が表す月
- 関連項目:
-
setMonth
@Deprecated public void setMonth(int month) 非推奨。JDKバージョン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バージョン1.1で、Calendar.get(Calendar.DAY_OF_MONTH)
に置き換えられています。Date
オブジェクトで表される月の日を返します。 戻り値は、Date
オブジェクトで表されたインスタントを含むかまたはそのインスタントで始まる月の日(ローカル・タイムゾーン)を表す1
と31
の間になります。- 戻り値:
- この日付で表される月の日
- 関連項目:
-
setDate
@Deprecated public void setDate(int date) 非推奨。JDKバージョン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バージョン1.1で、Calendar.get(Calendar.DAY_OF_WEEK)
に置き換えられています。この日付で表される週の日を返します。 戻り値(0
= Sunday,1
= Monday,2
= Tuesday,3
= Wednesday,4
= Thursday,5
= Friday,6
= Saturday)は、Date
オブジェクトで表されるインスタントを含むかまたはそのインスタントで始まる週の日を、ローカル・タイムゾーンで表します。- 戻り値:
- この日付で表される曜日
- 関連項目:
-
getHours
@Deprecated public int getHours()非推奨。JDKバージョン1.1で、Calendar.get(Calendar.HOUR_OF_DAY)
に置き換えられています。Date
オブジェクトが表す時を返します。 戻り値は、Date
オブジェクトで表されるインスタントを含むかそのインスタントで始まる時をローカル・タイムゾーンで表す数値(0
から23
)です。- 戻り値:
- この日付が表す時
- 関連項目:
-
setHours
@Deprecated public void setHours(int hours) 非推奨。JDKバージョン1.1で、Calendar.set(Calendar.HOUR_OF_DAY, int hours)
に置き換えられています。Date
オブジェクトの時を、指定された値に設定します。Date
オブジェクトは、指定された日の時の時点を、ローカル・タイムゾーンを使用して、以前と同じように年、月、日、分、および秒で表すように変更されます。- パラメータ:
hours
- 時間の値。- 関連項目:
-
getMinutes
@Deprecated public int getMinutes()非推奨。JDKバージョン1.1で、Calendar.get(Calendar.MINUTE)
に置き換えられています。この日付で表される時を過ぎた分数を、ローカル・タイムゾーンで返します。 返される値は、0
-59
です。- 戻り値:
- この日付で表される時を過ぎた分数
- 関連項目:
-
setMinutes
@Deprecated public void setMinutes(int minutes) 非推奨。JDKバージョン1.1で、Calendar.set(Calendar.MINUTE, int minutes)
に置き換えられています。Date
オブジェクトの分を指定された値に設定します。Date
オブジェクトは、指定された時の分のある時点を、ローカル・タイムゾーンを使用して、以前と同じように年、月、日、時、秒で表すように変更されます。- パラメータ:
minutes
- 分の値。- 関連項目:
-
getSeconds
@Deprecated public int getSeconds()非推奨。JDKバージョン1.1で、Calendar.get(Calendar.SECOND)
に置き換えられています。この日付で表される、分を過ぎた秒数を返します。 返される値は、0
-61
です。 値60
および61
は、うるう年を考慮するJava仮想マシンだけで発生します。- 戻り値:
- この日付で表される、分を過ぎた秒数
- 関連項目:
-
setSeconds
@Deprecated public void setSeconds(int seconds) 非推奨。JDKバージョン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
- 日付。- 戻り値:
Date
オブジェクトが表すインスタントがwhen
オブジェクトの表すインスタントより早い場合だけtrue
、そうでない場合はfalse
。- throws:
NullPointerException
-when
がnullの場合。
-
after
public boolean after(Date when) この日付が、指定された日付より後にあるかどうかを判定します。- パラメータ:
when
- 日付。- 戻り値:
Date
オブジェクトが表すインスタントがwhen
オブジェクトの表すインスタントより遅い場合だけtrue
、そうでない場合はfalse
。- throws:
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
より大きい値。 - throws:
NullPointerException
-anotherDate
がnullの場合。- 導入されたバージョン:
- 1.2
-
hashCode
public int hashCode()このオブジェクトに対するハッシュ・コード値を返します。 結果は、getTime()
メソッドによって返されるプリミティブlong
値の上位半分と下位半分の排他的論理和です。 すなわち、ハッシュ・コードは次の式の値です。(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
は2桁の10進数である月の日(01
-31
)です。hh
は2桁の10進数である日の時(00
-23
)です。mm
は2桁の10進数である時の分(00
-59
)です。ss
は2桁の10進数である分の秒(00
-61
)です。zzz
はタイムゾーン(夏時間を反映する場合があります)。 標準タイムゾーンの省略名には、parse
メソッドで認識されるものも含まれます。 タイムゾーンの情報が使用できない場合、zzz
は空です - つまり、文字を一切含みません。yyyy
は4桁の10進数である年です。
-
toLocaleString
@Deprecated public String toLocaleString()非推奨。JDKバージョン1.1で、DateFormat.format(Date date)
に置き換えられています。Date
オブジェクトの文字列表現を実装依存の形式で作成します。 これは、Javaアプリケーションがどこで稼働するにしても、そのユーザーにとってこの形式がなじみのあるものだからです。 この目的は、ISO Cのstrftime()
機能によってサポートされる「%c
」フォーマットの場合と同様です。- 戻り値:
- ロケール規則を使ったこの日付の文字列表現。
- 関連項目:
-
toGMTString
@Deprecated public String toGMTString()非推奨。JDKバージョン1.1で、GMTTimeZone
を使用してDateFormat.format(Date date)
に置き換えられています。このDate
オブジェクトの文字列表現を次の形式で作成します。
説明:d mon yyyy hh:mm:ss GMT
- dは1桁または2桁の10進数である月の日(
1
-31
)。 - monは月(
Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
)です。 - yyyyは、10進数4桁の年です。
- hhは2桁の10進数である日の時(
00
-23
)です。 - mmは2桁の10進数である時の分(
00
-59
)です。 - ssは2桁の10進数である分の秒(
00
-61
)。 - GMTはグリニッジ標準時を示すASCII文字「
GMT
」。
結果はローカル・タイムゾーンに依存しません。
- 戻り値:
- インターネットのGMT規則を使った、この日付の文字列表現。
- 関連項目:
- dは1桁または2桁の10進数である月の日(
-
getTimezoneOffset
@Deprecated public int getTimezoneOffset()非推奨。JDKバージョン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
- throws:
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)
に置き換えられています。