java.lang.Object
java.util.Date
java.sql.Timestamp
- 所有已实现的接口:
Serializable,Cloneable,Comparable<Date>
围绕 java.util.Date 的薄包装器允许 JDBC API 将其识别为 SQL TIMESTAMP 值。它增加了保存 SQL 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 组件中仅存储整数秒。小数秒 - 纳米 - 是分开的。 Timestamp.equals(Object) 方法在传递一个不是 java.sql.Timestamp 实例的对象时从不返回 true ,因为日期的纳米组件是未知的。因此,Timestamp.equals(Object) 方法与 java.util.Date.equals(Object) 方法不对称。此外,hashCode 方法使用底层 java.util.Date 实现,因此在其计算中不包括纳米。
由于上述 Timestamp 类和 java.util.Date 类之间的差异,建议代码不要将 Timestamp 值一般视为 java.util.Date 的实例。 Timestamp 和 java.util.Date 之间的继承关系实际上表示实现继承,而不是类型继承。
- 自从:
- 1.1
- 参见:
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述boolean指示此Timestamp对象是否晚于给定的Timestamp对象。boolean指示此Timestamp对象是否早于给定的Timestamp对象。int将此Timestamp对象与给定的Timestamp对象进行比较。int将此Timestamp对象与给定的Date对象进行比较。boolean测试这个Timestamp对象是否等于给定的对象。boolean测试此Timestamp对象是否等于给定的Timestamp对象。static Timestamp从Instant对象获取Timestamp的实例。intgetNanos()获取此Timestamp对象的nanos值。longgetTime()返回此Timestamp对象表示的自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。inthashCode()返回此对象的哈希码值。voidsetNanos(int n) 将此Timestamp对象的nanos字段设置为给定值。voidsetTime(long time) 设置此Timestamp对象以表示格林威治标准时间 1970 年 1 月 1 日 00:00:00 后time毫秒的时间点。将此Timestamp对象转换为Instant。将此Timestamp对象转换为LocalDateTime。toString()以 JDBC 时间戳转义格式格式化时间戳。static Timestamp将 JDBC 时间戳转义格式的String对象转换为Timestamp值。static TimestampvalueOf(LocalDateTime dateTime) 从LocalDateTime对象获取Timestamp的实例,与提供的LocalDateTime具有相同的年、月、日、小时、分钟、秒和纳秒日期时间值。在类 java.util.Date 中声明的方法
after, before, clone, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTimezoneOffset, getYear, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC
-
构造方法详细信息
-
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- 年份减去 1900month- 0 到 11date- 1 到 31hour- 0 到 23minute- 0 到 59second- 0 到 59nano- 0 到 999,999,999- 抛出:
IllegalArgumentException- 如果 nano 参数超出范围
-
Timestamp
public Timestamp(long time) 使用毫秒时间值构造一个Timestamp对象。整数秒存储在基础日期值中;小数秒存储在Timestamp对象的nanos字段中。- 参数:
time- 自格林威治标准时间 1970 年 1 月 1 日 00:00:00 以来的毫秒数。负数是 1970 年 1 月 1 日 00:00:00 GMT 之前的毫秒数。- 参见:
-
-
方法详情
-
setTime
public void setTime(long time) 设置此Timestamp对象以表示格林威治标准时间 1970 年 1 月 1 日 00:00:00 后time毫秒的时间点。 -
getTime
public long getTime()返回此Timestamp对象表示的自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。 -
valueOf
将 JDBC 时间戳转义格式的String对象转换为Timestamp值。- 参数:
s- 格式为yyyy-[m]m-[d]d hh:mm:ss[.f...]的时间戳。可以省略小数秒。mm和dd的前导零也可以省略。- 返回:
-
对应的
Timestamp值 - 抛出:
IllegalArgumentException- 如果给定的参数没有格式yyyy-[m]m-[d]d hh:mm:ss[.f...]
-
toString
以 JDBC 时间戳转义格式格式化时间戳。yyyy-mm-dd hh:mm:ss.fffffffff,其中fffffffff表示纳秒。 -
getNanos
public int getNanos()获取此Timestamp对象的nanos值。- 返回:
-
这个
Timestamp对象的小数秒组件 - 参见:
-
setNanos
public void setNanos(int n) 将此Timestamp对象的nanos字段设置为给定值。- 参数:
n- 新的小数秒组件- 抛出:
IllegalArgumentException- 如果给定参数大于 999999999 或小于 0- 参见:
-
equals
测试此Timestamp对象是否等于给定的Timestamp对象。- 参数:
ts- 要与之比较的Timestamp值- 返回:
true如果给定的Timestamp对象等于此Timestamp对象;false否则
-
equals
测试这个Timestamp对象是否等于给定的对象。添加此版本的方法equals是为了修复Timestamp.equals(Timestamp)的错误签名并保持与现有类文件的向后兼容性。注意:此方法相对于基类中的equals(Object)方法不是对称的。 -
before
指示此Timestamp对象是否早于给定的Timestamp对象。- 参数:
ts- 要与之比较的Timestamp值- 返回:
true如果这个Timestamp对象更早;false否则
-
after
指示此Timestamp对象是否晚于给定的Timestamp对象。- 参数:
ts- 要与之比较的Timestamp值- 返回:
true如果这个Timestamp对象在以后;false否则
-
compareTo
将此Timestamp对象与给定的Timestamp对象进行比较。- 参数:
ts- 要与此Timestamp对象进行比较的Timestamp对象- 返回:
-
如果两个
Timestamp对象相等,则值为0;如果此Timestamp对象在给定参数之前,则该值小于0;如果此Timestamp对象在给定参数之后,则该值大于0。 - 自从:
- 1.4
-
compareTo
将此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实现,因此在其计算中不包括纳米。 -
valueOf
从LocalDateTime对象获取Timestamp的实例,与提供的LocalDateTime具有相同的年、月、日、小时、分钟、秒和纳秒日期时间值。提供的
LocalDateTime被解释为本地时区的本地日期时间。- 参数:
dateTime- 要转换的LocalDateTime- 返回:
-
一个
Timestamp对象 - 抛出:
NullPointerException- 如果dateTime为空。- 自从:
- 1.8
-
toLocalDateTime
将此Timestamp对象转换为LocalDateTime。转换创建一个
LocalDateTime表示与本地时区中的Timestamp相同的年、月、日、小时、分钟、秒和纳秒日期时间值。- 返回:
-
代表相同日期时间值的
LocalDateTime对象 - 自从:
- 1.8
-
from
- 参数:
instant- 转换的瞬间- 返回:
-
一个
Timestamp表示时间线上与提供的时刻相同的点 - 抛出:
NullPointerException- 如果instant为空。IllegalArgumentException- 如果瞬间太大而无法表示为Timestamp- 自从:
- 1.8
-
toInstant
将此Timestamp对象转换为Instant。转换创建一个
Instant代表时间线上与此Timestamp相同的点。
-
Timestamp(long millis)