一个与
java.util.Date
类有关的瘦包装器 (thin wrapper),它允许 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
组件中。小数秒(毫微秒)是独立存在的。传递不是
java.sql.Timestamp
实例的对象时,
Timestamp.equals(Object)
方法永远不会返回
true
,因为日期的毫微秒组件是未知的。因此,相对于
java.util.Date.equals(Object)
方法而言,
Timestamp.equals(Object)
方法是不对称的。此外,
hashcode
方法使用底层
java.util.Date
实现并因此在其计算中不包括毫微秒。
鉴于
Timestamp
类和上述
java.util.Date
类之间的不同,建议代码一般不要将
Timestamp
值视为
java.util.Date
的实例。
Timestamp
和
java.util.Date
之间的继承关系实际上指的是实现继承,而不是类型继承。
参数:
year
- 年减去 1900
month
- 0 到 11
date
- 1 到 31
hour
- 0 到 23
minute
- 0 到 59
second
- 0 到 59
nano
- 0 到 999,999,999
IllegalArgumentException
- 如果毫微参数超出范围
public
Timestamp
(long time)
使用毫秒时间值构造
Timestamp
对象。整数秒存储在底层日期值中;小数秒存储在
Timestamp
对象的
nanos
字段中。
参数:
time
- 自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。负数表示 1970 年 1 月 1 日 00:00:00 GMT 之前的毫秒数。
另请参见:
Calendar
public void
setTime
(long time)
设置此
Timestamp
对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后
time
毫秒的时间点。
覆盖:
类
Date
中的
setTime
参数:
time
- 毫秒数。
另请参见:
getTime()
,
Timestamp(long time)
,
Calendar
测试此对象是否等于给定的
Timestamp
对象。
添加了此版本的
equals
方法,可以修复不正确的
Timestamp.equals(Timestamp)
签名,并保留与现有类文件的向后兼容性。
注:相对于基类中的
equals(Object)
方法而言,此方法是不对称的。
覆盖:
类
Date
中的
equals
参数:
ts
- 要与之进行比较的
Object
值
返回:
如果给定
Object
是等于此
Timestamp
对象的
Timestamp
实例,则返回
true
;否则返回
false
另请参见:
Date.getTime()
参数:
ts
- 要与此
Timestamp
对象进行比较的
Timestamp
对象
返回:
如果两个
Timestamp
对象相等,则返回值
0
;如果此
Timestamp
对象早于给定参数,则返回小于
0
的值;如果此
Timestamp
对象晚于给定参数,则返回大于
0
的值。
从以下版本开始:
public int
compareTo
(
Date
o)
将此
Timestamp
对象与给定的
Date
(必须为
Timestamp
对象)相比较。如果参数不是
Timestamp
对象,则此方法抛出
ClassCastException
对象。(
Timestamp
只有与其他的
Timestamp
对象相比较。)
指定者:
接口
Comparable
<
Date
>
中的
compareTo
覆盖:
类
Date
中的
compareTo
参数:
o
- 要比较的
Date
,必须为
Timestamp
对象
返回:
如果此
Timestamp
对象与给定对象相等,则返回值
0
;如果此
Timestamp
对象早于给定参数,则返回小于
0
的值;如果此
Timestamp
对象晚于给定参数,则返回大于
0
的值。
从以下版本开始: