モジュール java.sql
パッケージ 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オブジェクトを構築します。
    • メソッドのサマリー

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

      • 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 (グリニッジ標準時)より前のミリ秒。
        関連項目:
        Calendar
    • メソッドの詳細

      • setTime

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

        public long getTime​()
        このTimestampオブジェクトで表される、1970年1月1日00:00:00 GMTからのミリ秒数を返します。
        オーバーライド:
        getTime、クラス: Date
        戻り値:
        この日付で表される、1970年1月1日00:00:00 GMTからのミリ秒数。
        関連項目:
        setTime(long)
      • 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オブジェクト
        関連項目:
        Date.toLocaleString(), Date.toGMTString()
      • getNanos

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

        public void setNanos​(int n)
        このTimestampオブジェクトのnanosフィールドを指定された値に設定します。
        パラメータ:
        n - 新しい小数点以下の秒の構成要素
        例外:
        IllegalArgumentException - 指定された引数が999999999より大きいか、0より小さい場合
        関連項目:
        getNanos()
      • 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
        関連項目:
        Date.getTime()
      • 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
        戻り値:
        このオブジェクトのハッシュ・コード値。
        関連項目:
        Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
      • 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