クラスTimestamp

java.lang.Object
java.util.Date
java.sql.Timestamp
すべての実装されたインタフェース:
Serializable, Cloneable, Comparable<Date>

public class Timestamp extends Date

このクラスは、java.util.Dateの薄いラッパーで、このラッパーによってJDBC APIはこれをSQL TIMESTAMP値として識別できます。 このクラスは、小数点以下の秒数の仕様でナノ秒の精度を許可することにより、SQL TIMESTAMPの小数点以下の秒数値を保持する機能を追加します。 Timestampは、タイムスタンプ値のJDBCエスケープ構文をサポートするためのフォーマットと構文解析操作も提供します。

Timestampオブジェクトの精度は、次のように計算されます。

  • 19 。yyyy-mm-dd hh:mm:ss形式での文字数です
  • 20+s 。yyyy-mm-dd hh:mm:ss.[fff...]形式での文字数であり、sは指定されたTimestampのスケール(小数点以下の秒数の精度)を表します。

ノート: この型はjava.util.Dateとナノ秒値からなります。 java.util.Date構成要素内に格納されるのは秒の整数部分だけです。 秒の小数点以下(nanos値)は別の構成要素内に格納されます。 Timestamp.equals(Object)メソッドは、java.sql.Timestampのインスタンスでないオブジェクトが渡された場合はtrueを返しません。なぜなら、その日付のnanos構成要素が不明だからです。 そのため、Timestamp.equals(Object)メソッドはjava.util.Date.equals(Object)メソッドと対称ではありません。

上記のようなTimestampクラスとjava.util.Dateクラスの違いのため、Timestamp値はjava.util.Dateのインスタンスとして考えないでください。 Timestampjava.util.Dateの継承関係は、型の継承ではなく、実装の継承を示します。

導入されたバージョン:
1.1
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    Timestamp(int year, int month, int date, int hour, int minute, int second, int nano)
    非推奨。
    かわりにコンストラクタTimestamp(long millis)を使用
    Timestamp(long time)
    ミリ秒の値を使用して、Timestampオブジェクトを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    このTimestampオブジェクトが、指定されたTimestampオブジェクトより遅い時間かどうかを示します。
    boolean
    このTimestampオブジェクトが、指定されたTimestampオブジェクトより早い時間かどうかを示します。
    int
    このTimestampオブジェクトを指定されたTimestampオブジェクトと比較します。
    int
    このTimestampオブジェクトを指定されたDateオブジェクトと比較します。
    boolean
    このTimestampオブジェクトが指定されたオブジェクトと等しいかどうかを判定します。
    boolean
    このTimestampオブジェクトが指定されたTimestampオブジェクトと等しいかどうかを判定します。
    static Timestamp
    from(Instant instant)
    InstantオブジェクトからTimestampのインスタンスを取得します。
    int
    このTimestampオブジェクトのnanos値を取得します。
    long
    このTimestampオブジェクトで表される、1970年1月1日00:00:00 GMTからのミリ秒数を返します。
    int
    このタイムスタンプのハッシュ・コード値を返します。
    void
    setNanos(int n)
    このTimestampオブジェクトのnanosフィールドを指定された値に設定します。
    void
    setTime(long time)
    このTimestampオブジェクトを、1970年1月1日00:00:00 GMTの後のtimeミリ秒の時点を表すように設定します。
    このTimestampオブジェクトをInstantに変換します。
    このTimestampオブジェクトをLocalDateTimeに変換します。
    タイムスタンプをJDBCタイムスタンプ・エスケープ形式にフォーマットします。
    static Timestamp
    JDBCタイムスタンプ・エスケープ形式のStringオブジェクトをTimestamp値に変換します。
    static Timestamp
    指定されたLocalDateTimeと同じ年、月、「月の日」、時、分、秒、およびナノ秒の日付/時間値を持つTimestampのインスタンスをLocalDateTimeオブジェクトから取得します。

    クラス Dateで宣言されたメソッド

    after, before, clone, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTimezoneOffset, getYear, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC
    修飾子と型
    メソッド
    説明
    boolean
    after(Date when)
    この日付が、指定された日付より後にあるかどうかを判定します。
    boolean
    before(Date when)
    この日付が、指定された日付より前にあるかどうかを判定します。
    このオブジェクトのコピーを返します。
    int
    非推奨。
    JDKバージョン1.1で、Calendar.get(Calendar.DAY_OF_MONTH)に置き換えられています。
    int
    非推奨。
    JDKバージョン1.1で、Calendar.get(Calendar.DAY_OF_WEEK)に置き換えられています。
    int
    非推奨。
    JDKバージョン1.1で、Calendar.get(Calendar.HOUR_OF_DAY)に置き換えられています。
    int
    非推奨。
    JDKバージョン1.1で、Calendar.get(Calendar.MINUTE)に置き換えられています。
    int
    非推奨。
    JDKバージョン1.1で、Calendar.get(Calendar.MONTH)に置き換えられています。
    int
    非推奨。
    JDKバージョン1.1で、Calendar.get(Calendar.SECOND)に置き換えられています。
    int
    非推奨。
    JDKバージョン1.1で、-(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000)に置き換えられています。
    int
    非推奨。
    JDKバージョン1.1で、Calendar.get(Calendar.YEAR) - 1900に置き換えられています。
    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
    setYear(int year)
    非推奨。
    JDKバージョン1.1で、Calendar.set(Calendar.YEAR, year + 1900)に置き換えられています。
    非推奨。
    JDKバージョン1.1で、GMT TimeZoneを使用してDateFormat.format(Date date)に置き換えられています。
    非推奨。
    JDKバージョン1.1で、DateFormat.format(Date date)に置き換えられています。
    static long
    UTC(int year, int month, int date, int hrs, int min, int sec)
    非推奨。
    JDKバージョン1.1で、UTC TimeZoneCalendar.getTime().getTime()を使用して、Calendar.set(year + 1900, month, date, hrs, min, sec)またはGregorianCalendar(year + 1900, month, date, hrs, min, sec)に置き換えられました。

    クラスオブジェクトで宣言されたメソッド

    finalize, getClass, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • Timestamp

      @Deprecated(since="1.2") public Timestamp(int year, int month, int date, int hour, int minute, int second, int nano)
      非推奨。
      かわりにコンストラクタTimestamp(long millis)を使用
      指定された値で初期化されたTimestampオブジェクトを構築します。
      パラメータ:
      year - 年から1900を引いたもの
      month - 0 - 11
      date - 1 - 31
      hour - 0 - 23
      minute - 0 - 59
      second - 0 - 59
      nano - 0 - 999,999,999
      スロー:
      IllegalArgumentException - nano引数が範囲外にある場合
    • Timestamp

      public Timestamp(long time)
      ミリ秒の値を使用して、Timestampオブジェクトを構築します。 整数値の秒は基になるdate値に格納され、小数点以下の秒数はTimestampオブジェクトのnanosフィールドに格納されます。
      パラメータ:
      time - 1970年1月1日、0時0分0秒GMT (グリニッジ標準時)を起点とした時間をミリ秒で表した値。 負の値は、1970年1月1日、0時0分0秒GMT (グリニッジ標準時)より前のミリ秒。
      関連項目:
  • メソッドの詳細

    • setTime

      public void setTime(long time)
      このTimestampオブジェクトを、1970年1月1日00:00:00 GMTの後のtimeミリ秒の時点を表すように設定します。
      オーバーライド:
      setTime、クラスDate
      パラメータ:
      time - ミリ秒数。
      関連項目:
    • getTime

      public long getTime()
      このTimestampオブジェクトで表される、1970年1月1日00:00:00 GMTからのミリ秒数を返します。
      オーバーライド:
      getTime、クラスDate
      戻り値:
      この日付で表される、1970年1月1日00:00:00 GMTからのミリ秒数。
      関連項目:
    • valueOf

      public static Timestamp valueOf(String s)
      JDBCタイムスタンプ・エスケープ形式のStringオブジェクトをTimestamp値に変換します。
      パラメータ:
      s - yyyy-[m]m-[d]d hh:mm:ss[.f...]形式のタイムスタンプ。 小数点以下の秒数は省略されることがある。 mmddの先頭のゼロは省略できる。
      戻り値:
      対応するTimestamp
      スロー:
      IllegalArgumentException - 指定された引数がyyyy-[m]m-[d]d hh:mm:ss[.f...]形式でない場合
    • toString

      public String toString()
      タイムスタンプをJDBCタイムスタンプ・エスケープ形式で書式設定します。yyyy-mm-dd hh:mm:ss.ffffffffffffffffffはナノ秒を示します。
      オーバーライド:
      toString、クラスDate
      戻り値:
      yyyy-mm-dd hh:mm:ss.fffffffff形式のStringオブジェクト
      関連項目:
    • getNanos

      public int getNanos()
      このTimestampオブジェクトのnanos値を取得します。
      戻り値:
      このTimestampオブジェクトの小数点以下の秒の構成要素
      関連項目:
    • setNanos

      public void setNanos(int n)
      このTimestampオブジェクトのnanosフィールドを指定された値に設定します。
      パラメータ:
      n - 新しい小数点以下の秒の構成要素
      スロー:
      IllegalArgumentException - 指定された引数が999999999より大きいか、0より小さい場合
      関連項目:
    • equals

      public boolean equals(Timestamp ts)
      このTimestampオブジェクトが指定されたTimestampオブジェクトと等しいかどうかを判定します。
      パラメータ:
      ts - 比較対象のTimestamp
      戻り値:
      指定されたTimestampオブジェクトがこのTimestampオブジェクトと等しい場合はtrue、そうでない場合はfalse
    • equals

      public boolean equals(Object ts)
      このTimestampオブジェクトが指定されたオブジェクトと等しいかどうかを判定します。 このバージョンのequalsメソッドは、Timestamp.equals(Timestamp)の正しくないシグネチャの修正と、既存のクラス・ファイルとの下位互換を保持するために追加されました。 ノート: このメソッドは、基底クラスのequals(Object)メソッドと対称ではありません。
      オーバーライド:
      equals、クラスDate
      パラメータ:
      ts - 比較対象のObject
      戻り値:
      指定されたObjectTimestampのインスタンスで、このTimestampオブジェクトに等しい場合はtrue、それ以外の場合はfalse
      関連項目:
    • before

      public boolean before(Timestamp ts)
      このTimestampオブジェクトが、指定されたTimestampオブジェクトより早い時間かどうかを示します。
      パラメータ:
      ts - 比較対象のTimestamp
      戻り値:
      このTimestampオブジェクトの方が早い場合はtrue、そうでない場合はfalse
    • after

      public boolean after(Timestamp ts)
      このTimestampオブジェクトが、指定されたTimestampオブジェクトより遅い時間かどうかを示します。
      パラメータ:
      ts - 比較対象のTimestamp
      戻り値:
      このTimestampオブジェクトの方が遅い場合はtrue、そうでない場合はfalse
    • compareTo

      public int compareTo(Timestamp ts)
      このTimestampオブジェクトを指定されたTimestampオブジェクトと比較します。
      パラメータ:
      ts -このTimestampオブジェクトの比較対象のTimestampオブジェクト
      戻り値:
      2つのTimestampオブジェクトが等しい場合は値0、このTimestampオブジェクトが引数に指定されたオブジェクトより早い時間である場合は0未満の値、このTimestampオブジェクトが引数に指定されたオブジェクトより遅い時間である場合は0より大きい値
      導入されたバージョン:
      1.4
    • compareTo

      public int compareTo(Date o)
      このTimestampオブジェクトを指定されたDateオブジェクトと比較します。
      定義:
      compareTo、インタフェースComparable<Date>
      オーバーライド:
      compareTo、クラスDate
      パラメータ:
      o -このTimestampオブジェクトの比較対象のDate
      戻り値:
      このTimestampオブジェクトと指定されたオブジェクトが等しい場合は値0、このTimestampオブジェクトが引数に指定されたオブジェクトより早い時間である場合は0未満の値、このTimestampオブジェクトが引数に指定されたオブジェクトより遅い時間である場合は0より大きい値
      導入されたバージョン:
      1.5
    • hashCode

      public int hashCode()
      このタイムスタンプのハッシュ・コード値を返します。 結果は、getTime()メソッドによって返されるプリミティブlong値の2つの半分のうち、排他ORになります。 すなわち、ハッシュ・コードは次の式の値です。
        (int)(this.getTime()^(this.getTime() >>> 32))
      
      オーバーライド:
      hashCode、クラスDate
      戻り値:
      このタイムスタンプのハッシュ・コード値。
      関連項目:
    • valueOf

      public static Timestamp valueOf(LocalDateTime dateTime)
      指定されたLocalDateTimeと同じ年、月、「月の日」、時、分、秒、およびナノ秒の日付/時間値を持つTimestampのインスタンスをLocalDateTimeオブジェクトから取得します。

      指定されたLocalDateTimeは、ローカル・タイムゾーンのローカル日付/時間として解釈されます。

      パラメータ:
      dateTime - 変換するLocalDateTime
      戻り値:
      Timestampオブジェクト
      スロー:
      NullPointerException - dateTimeがnullの場合。
      導入されたバージョン:
      1.8
    • toLocalDateTime

      public LocalDateTime toLocalDateTime()
      このTimestampオブジェクトをLocalDateTimeに変換します。

      この変換によって、ローカル・タイムゾーンでこのTimestampと同じ年、月、「月の日」、時、分、秒およびナノ秒の日付/時間値を表すLocalDateTimeが作成されます。

      戻り値:
      同じ日付/時間値を表すLocalDateTimeオブジェクト
      導入されたバージョン:
      1.8
    • from

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

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

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

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

      この変換によって、このTimestampと同じ時系列上の時点を表すInstantが作成されます。

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