模块  java.sql
软件包  java.sql

Class Timestamp

  • 实现的所有接口
    SerializableCloneableComparable<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表示给定时间戳的比例,其小数秒精度。

    注意:此类型是java.util.Date和单独的纳秒值的组合。 java.util.Date组件中仅存储整数秒。 分数秒 - 纳米 - 是分开的。 传递不是java.sql.Timestamp实例的对象时, Timestamp.equals(Object)方法永远不会返回true ,因为日期的nanos组件未知。 结果, Timestamp.equals(Object)方法相对于java.util.Date.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
    另请参见:
    Serialized Form
    • 构造方法详细信息

      • Timestamp

        @Deprecated(since="1.2")
        public Timestamp​(int year,
                         int month,
                         int date,
                         int hour,
                         int minute,
                         int second,
                         int nano)
        Deprecated.
        instead use the constructor 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 - 如果纳米参数超出范围
      • Timestamp

        public Timestamp​(long time)
        使用毫秒时间值构造Timestamp对象。 积分秒存储在基础日期值中; 小数秒存储在Timestamp对象的nanos字段中。
        参数
        time - 从1970年1月1日00:00:00 GMT开始的毫秒数。 负数是1970年1月1日00:00:00 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
        结果
        true如果给定的Timestamp对象等于此Timestamp对象; 否则为false
      • equals

        public boolean equals​(Object ts)
        测试此Timestamp对象是否等于给定对象。 已添加此版本的方法equals以修复Timestamp.equals(Timestamp)的错误签名并保留与现有类文件的向后兼容性。 注意:此方法与基类中的equals(Object)方法不对称。
        重写:
        equals ,类 Date
        参数
        ts - 要与之比较的 Object
        结果
        true如果给定的Object是一个实例Timestamp等于这个Timestamp对象; 否则为false
        另请参见:
        Date.getTime()
      • before

        public boolean before​(Timestamp ts)
        指示此 Timestamp对象是否早于给定的 Timestamp对象。
        参数
        ts - 要与之比较的 Timestamp
        结果
        true如果此Timestamp对象较早; 否则为false
      • after

        public boolean after​(Timestamp ts)
        指示此 Timestamp对象是否晚于给定的 Timestamp对象。
        参数
        ts - 要与之比较的 Timestamp
        结果
        true如果这个Timestamp对象是后来的话; 否则为false
      • compareTo

        public int compareTo​(Timestamp ts)
        将此 Timestamp对象与给定的 Timestamp对象进行比较。
        参数
        ts -所述 Timestamp对象物相比,这 Timestamp对象
        结果
        0如果两个Timestamp对象相等; 如果此Timestamp对象在给定参数之前,则值小于0 ; 如果此Timestamp对象位于给定参数之后,则值大于0
        从以下版本开始:
        1.4
      • compareTo

        public int compareTo​(Date o)
        将此 Timestamp对象与给定的 Date对象进行比较。
        Specified by:
        compareTo ,界面 Comparable<Date>
        重写:
        compareTo在类 Date
        参数
        o -的 Date被比作此 Timestamp对象
        结果
        0如果此Timestamp对象与给定对象相等; 如果此Timestamp对象在给定参数之前,则值小于0 ; 如果此Timestamp对象位于给定参数之后,则值大于0
        从以下版本开始:
        1.5
      • valueOf

        public static Timestamp valueOf​(LocalDateTime dateTime)
        LocalDateTime对象获得Timestamp的实例,具有相同的年,月,日,小时,分钟,秒和纳米日期时间值,如提供的LocalDateTime

        提供的LocalDateTime被解释为本地时区的本地日期时间。

        参数
        dateTime - 要转换的 LocalDateTime
        结果
        一个 Timestamp对象
        异常
        NullPointerException - 如果 dateTime为空。
        从以下版本开始:
        1.8
      • toLocalDateTime

        public LocalDateTime toLocalDateTime()
        将此Timestamp对象转换为LocalDateTime

        转换创建一个LocalDateTime ,代表同一年,月,日,月,小时,分钟和Timestamp日期时间值,如本地时区中的Timestamp

        结果
        表示相同日期时间值的 LocalDateTime对象
        从以下版本开始:
        1.8
      • from

        public static Timestamp from​(Instant instant)
        Instant对象获得Timestamp的实例。

        Instant可以在未来的时间线上存储点,并且比Date 在这种情况下,此方法将引发异常。

        参数
        instant - 即时转换
        结果
        Timestamp表示时间线上与提供的瞬间相同的点
        异常
        NullPointerException - 如果 instant为空。
        IllegalArgumentException - 如果瞬间太大而无法表示为 Timestamp
        从以下版本开始:
        1.8
      • toInstant

        public Instant toInstant()
        将此Timestamp对象转换为Instant

        转换创建一个Instant ,表示时间线上与此Timestamp相同的点。

        重写:
        toInstant在类 Date
        结果
        表示时间线上相同点的瞬间
        从以下版本开始:
        1.8