java.lang.Object java.util.Date java.sql.Timestamp
public class Timestamp
一个与 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
之间的继承关系实际上指的是实现继承,而不是类型继承。
构造方法摘要 | |
---|---|
Timestamp(int year, int month, int date, int hour, int minute, int second, int nano) 已过时。 使用构造方法 Timestamp(long millis) 来代替 |
|
Timestamp(long time) 使用毫秒时间值构造 Timestamp 对象。 |
方法摘要 | |
---|---|
boolean |
after(Timestamp ts) 指示此 Timestamp 对象是否晚于给定的 Timestamp 对象。 |
boolean |
before(Timestamp ts) 指示此 Timestamp 对象是否早于给定的 Timestamp 对象。 |
int |
compareTo(Date o) 将此 Timestamp 对象与给定的 Date (必须为 Timestamp 对象)相比较。 |
int |
compareTo(Timestamp ts) 将此 Timestamp 对象与给定 Timestamp 对象相比较。 |
boolean |
equals(Object ts) 测试此对象是否等于给定的 Timestamp 对象。 |
boolean |
equals(Timestamp ts) 测试此 Timestamp 对象是否等于给定的 Timestamp 对象。 |
int |
getNanos() 获取此 Timestamp 对象的 nanos 值。 |
long |
getTime() 返回此 Timestamp 对象表示的自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。 |
void |
setNanos(int n) 将此 Timestamp 对象的 nanos 字段设置为给定值。 |
void |
setTime(long time) 设置此 Timestamp 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。 |
String |
toString() 使用 JDBC 时间戳转义格式编排时间戳。 |
static Timestamp |
valueOf(String s) 将使用 JDBC 时间戳转义格式的 String 对象转换为 Timestamp 值。 |
从类 java.util.Date 继承的方法 |
---|
after, before, clone, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTimezoneOffset, getYear, hashCode, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC |
从类 java.lang.Object 继承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
@Deprecated 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
- 如果毫微参数超出范围
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 毫秒的时间点。
time
- 毫秒数。
getTime()
,
Timestamp(long time)
,
Calendar
public long getTime()
Timestamp
对象表示的自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
setTime(long)
public static Timestamp valueOf(String s)
String
对象转换为
Timestamp
值。
s
- 使用
yyyy-mm-dd hh:mm:ss[.f...]
格式的时间戳。可以省略小数秒。
Timestamp
值
IllegalArgumentException
- 如果给定的参数不具有
yyyy-mm-dd hh:mm:ss[.f...]
格式
public String toString()
yyyy-mm-dd hh:mm:ss.fffffffff
,其中
ffffffffff
指示毫微秒。
yyyy-mm-dd hh:mm:ss.fffffffff
格式的
String
对象
Date.toLocaleString()
,
Date.toGMTString()
public int getNanos()
Timestamp
对象的
nanos
值。
Timestamp
对象的小数秒组件
setNanos(int)
public void setNanos(int n)
Timestamp
对象的
nanos
字段设置为给定值。
n
- 新小数秒组件
IllegalArgumentException
- 如果给定参数大于 999999999 或小于 0
getNanos()
public boolean equals(Timestamp ts)
Timestamp
对象是否等于给定的
Timestamp
对象。
ts
- 用于比较的
Timestamp
值
Timestamp
对象等于此
Timestamp
对象,则返回
true
,否则返回
false
public boolean equals(Object ts)
Timestamp
对象。 添加了此版本的
equals
方法,可以修复不正确的
Timestamp.equals(Timestamp)
签名,并保留与现有类文件的向后兼容性。 注:相对于基类中的
equals(Object)
方法而言,此方法是不对称的。
ts
- 要与之进行比较的
Object
值
Object
是等于此
Timestamp
对象的
Timestamp
实例,则返回
true
;否则返回
false
Date.getTime()
public boolean before(Timestamp ts)
Timestamp
对象是否早于给定的
Timestamp
对象。
ts
- 要与之进行比较的
Timestamp
值
Timestamp
对象较早,则返回
true
,否则返回
false
public boolean after(Timestamp ts)
Timestamp
对象是否晚于给定的
Timestamp
对象。
ts
- 要与之进行比较的
Timestamp
值
Timestamp
对象较晚,则返回
true
,否则返回
false
public int compareTo(Timestamp ts)
Timestamp
对象与给定
Timestamp
对象相比较。
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
的值。