モジュール java.sql
パッケージ java.sql

クラス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)メソッドと対称ではありません。 また、hashCodeメソッドは基となるjava.util.Date実装を使用するため、その計算にnanos値を含みません。

上記のような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オブジェクトから取得します。

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

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

    • 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.fffffffff、ここで、fffffffffはナノ秒を示します。
      オーバーライド:
      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()
      このオブジェクトに対するハッシュ・コード値を返します。 結果は、Date.getTime()メソッドによって返されるプリミティブlong値の上位半分と下位半分の排他的論理和です。 すなわち、ハッシュ・コードは次の式の値です。
      
       (int)(this.getTime()^(this.getTime() >>> 32))
       
      hashCodeメソッドは基となるjava.util.Date実装を使用するため、その計算にnanos値を含みません。
      オーバーライド:
      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