モジュール java.base
パッケージ java.util

クラスDate

java.lang.Object
java.util.Date
すべての実装されたインタフェース:
Serializable, Cloneable, Comparable<Date>
直系の既知のサブクラス:
Date, Time, Timestamp

public class Date extends Object implements 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(int year, int month, int date)
    非推奨。
    JDK version 1.1以降は、Calendar.set(year+1900, month, date)またはGregorianCalendar(year+1900, month, 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
    after(Date when)
    この日付が、指定された日付より後にあるかどうかを判定します。
    boolean
    before(Date when)
    この日付が、指定された日付より前にあるかどうかを判定します。
    このオブジェクトのコピーを返します。
    int
    compareTo(Date anotherDate)
    順序付けのために2つのDateを比較します。
    boolean
    2つの日付が等しいかどうかを比較します。
    static Date
    from(Instant instant)
    InstantオブジェクトからDateのインスタンスを取得します。
    int
    非推奨。
    JDK Version 1.1以降は、Calendar.get(Calendar.DAY_OF_MONTH)に置き換えられています。
    int
    非推奨。
    JDK Version 1.1以降は、Calendar.get(Calendar.DAY_OF_WEEK)に置き換えられています。
    int
    非推奨。
    JDK Version 1.1以降は、Calendar.get(Calendar.HOUR_OF_DAY)に置き換えられています。
    int
    非推奨。
    JDK Version 1.1以降は、Calendar.get(Calendar.MINUTE)に置き換えられています。
    int
    非推奨。
    JDK Version 1.1以降は、Calendar.get(Calendar.MONTH)に置き換えられています。
    int
    非推奨。
    JDK Version 1.1以降は、Calendar.get(Calendar.SECOND)に置き換えられています。
    long
    この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
    非推奨。
    JDK Version 1.1以降は、Calendar.get(Calendar.YEAR) - 1900に置き換えられています。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    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以降は、GMT TimeZoneを使用するDateFormat.format(Date date)に置き換えられています。
    このDateオブジェクトをInstantに変換します。
    非推奨。
    JDK Version 1.1以降は、DateFormat.format(Date date)に置き換えられています。
    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)に置き換えられています。UTC TimeZoneを使用し、Calendar.getTime().getTime()があとに続きます。

    クラスjava.lang.Objectで宣言されたメソッド

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • 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オブジェクトを割り当て、初期化します。これによって、このオブジェクトは、ローカル時間の深夜零時を表します。これは、yearmonthdate引数で指定された日の始めです。
      パラメータ:
      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オブジェクトを割り当て、それを初期化します。これによって、オブジェクトはyearmonthdatehrs、および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オブジェクトを割り当て、それを初期化します。これによって、オブジェクトはyearmonthdatehrsmin、および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 - 日付の文字列表現。
      例外:
      IllegalArgumentException - sを日時表現として解釈できない場合。
      関連項目:
  • メソッドの詳細

    • clone

      public Object clone()
      このオブジェクトのコピーを返します。
      オーバーライド:
      clone、クラスObject
      戻り値:
      このインスタンスの複製。
      関連項目:
    • 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)に置き換えられています。UTC TimeZoneを使用し、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分東"を意味します。 文字列にGMTUTまたはUTCを冗長で指定できます(例: GMT-5またはutc+0430)。
      • 以下の条件の1つがtrueの場合、数値は年とみなされます。
        • 数値は70以上で、そのあとに空白、カンマ、スラッシュ、または終了文字列が続く
        • 数値は70未満で、月と月の日付の両方が認識されている
        認識された年数値が100未満の場合、Dateクラスが初期化された日の80年前から19年後までの100年間の年が略記されたものとして解釈されます。 年数値を調整したのち、1900が引かれます。 たとえば、現在の年が1999の場合、19から99の範囲にある年が1919から1999を表すとみなされ、0から18は2000から2018を表すとみなされます。 これは、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からのミリ秒数。
      例外:
      IllegalArgumentException - sを日時表現として解釈できない場合。
      関連項目:
    • 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オブジェクトで表されるインスタント・イン・タイムを含む月または開始する月を表す数値を返します。 返される値は011の間であり、値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オブジェクトによって表されるインスタント・イン・タイムを含む、または開始する月の日を表す131の間です。
      戻り値:
      この日付で表される月の日
      関連項目:
    • 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を返す場合だけ等しいものとみなされます。

      オーバーライド:
      equals、クラスObject
      パラメータ:
      obj - 比較対象のオブジェクト。
      戻り値:
      オブジェクトが同じである場合はtrue、そうでない場合はfalse
      関連項目:
    • 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))
       
      オーバーライド:
      hashCode、クラスObject
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
    • 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桁の年です。
      オーバーライド:
      toString、クラスObject
      戻り値:
      この日付の文字列表現。
      関連項目:
    • 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以降は、GMT TimeZoneを使用する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は、10進数4桁の年です。
      • hhは、10進数2桁の日の時間 (00から23)です。
      • mmは、10進数2桁の時間の分 (00から59)です。
      • ssは、10進数2桁の分の秒 (00から61)です。
      • GMT 、グリニッジ標準時を示すASCII文字"GMT"です。

      結果はローカル・タイムゾーンに依存しません。

      戻り値:
      インターネットのGMT規則を使った、この日付の文字列表現。
      関連項目:
    • 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時間ゾーン:

       new Date(96, 1, 14).getTimezoneOffset() returns 300
      1996年2月14日のため、標準時(東部標準時)が使用されています。オフセットは、UTCから5時間です。
       new Date(96, 5, 1).getTimezoneOffset() returns 240
      1996年6月1日のため、夏時間(東部夏時間)が使用されています。オフセットは、UTCから4時間だけです。

      このメソッドは計算したかのように同じ結果を生成します。

       (this.getTime() - UTC(this.getYear(),
                             this.getMonth(),
                             this.getDate(),
                             this.getHours(),
                             this.getMinutes(),
                             this.getSeconds())) / (60 * 1000)
       

      戻り値:
      現在のタイムゾーンに対する分で表されたタイムゾーン・オフセット。
      関連項目:
    • from

      public static Date from(Instant instant)
      InstantオブジェクトからDateのインスタンスを取得します。

      Instantはナノ秒の精度を使用するのに対し、Dateはミリ秒の精度を使用します。 この変換では、ナノ秒単位の金額が100万単位の整数除算の対象であるかのように、余分な精度情報が切り捨てられます。

      Instantには、Dateより遠い未来または過去にある時系列上の時点を格納できます。 このシナリオでは、このメソッドは例外をスローします。

      パラメータ:
      instant - 変換するインスタント
      戻り値:
      指定されたインスタントと同じ時系列上のインスタントを表すDate
      例外:
      NullPointerException - instantがnullの場合。
      IllegalArgumentException - そのインスタントがDateとして表すには大きすぎる場合
      導入されたバージョン:
      1.8
    • toInstant

      public Instant toInstant()
      このDateオブジェクトをInstantに変換します。

      この変換では、時系列上でこのDateと同じ時点を表すInstantを作成します。

      戻り値:
      このDateオブジェクトと同じ時系列上の時点を表すインスタント
      導入されたバージョン:
      1.8