- java.lang.Object
-
- java.util.Date
-
- java.sql.Timestamp
-
- 实现的所有接口
-
Serializable
,Cloneable
,Comparable<Date>
public class Timestampextends Date
一个瘦的包装器,围绕
java.util.Date
,允许JDBC API将其标识为SQLTIMESTAMP
值。 它通过允许小数秒的指定精度为纳秒,增加了保存SQLTIMESTAMP
小数秒值的功能。 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
的实例。Timestamp
和java.util.Date
之间的继承关系实际上表示实现继承,而不是类型继承。- 从以下版本开始:
- 1.1
- 另请参见:
- Serialized Form
-
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 boolean
after(Timestamp ts)
指示此Timestamp
对象是否晚于给定的Timestamp
对象。boolean
before(Timestamp ts)
指示此Timestamp
对象是否早于给定的Timestamp
对象。int
compareTo(Timestamp ts)
将此Timestamp
对象与给定的Timestamp
对象进行比较。int
compareTo(Date o)
将此Timestamp
对象与给定的Date
对象进行比较。boolean
equals(Object ts)
测试此Timestamp
对象是否等于给定对象。boolean
equals(Timestamp ts)
测试此Timestamp
对象是否等于给定的Timestamp
对象。static Timestamp
from(Instant instant)
从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
毫秒的时间点。Instant
toInstant()
将此Timestamp
对象转换为Instant
。LocalDateTime
toLocalDateTime()
将此Timestamp
对象转换为LocalDateTime
。String
toString()
以JDBC时间戳转义格式格式化时间戳。static Timestamp
valueOf(String s)
将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)
Deprecated.instead use the constructorTimestamp(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...]
。 可以省略小数秒。mm
和dd
的前导零也可以省略。 - 结果
- 对应的值
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
-
hashCode
public int hashCode()
返回此对象的哈希码值。 结果是Date.getTime()
方法返回的原始long
值的两半的异或。 也就是说,哈希码是表达式的值:(int)(this.getTime()^(this.getTime() >>> 32))
hashCode
方法使用基础java.util.Date
实现,因此在其计算中不包括nanos。- 重写:
-
hashCode
,类Date
- 结果
- 此对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
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
-
-