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
的实例。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 后time
毫秒的时间点。将此Timestamp
对象转换为Instant
。将此Timestamp
对象转换为LocalDateTime
。toString()
以 JDBC 时间戳转义格式格式化时间戳。static Timestamp
将 JDBC 时间戳转义格式的String
对象转换为Timestamp
值。static Timestamp
valueOf
(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)