java.lang.Object
java.util.Date
java.sql.Timestamp
- 所有已实现的接口:
-
Serializable,Cloneable,Comparable<Date>
一个围绕java.util.Date的薄包装器,允许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,因为日期的纳秒组件是未知的。因此,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
- 参见:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean表示此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 GMTtime毫秒的时间点。将此Timestamp对象转换为Instant。将此Timestamp对象转换为LocalDateTime。toString()以JDBC时间戳转义格式格式化时间戳。static Timestamp将JDBC时间戳转义格式中的String对象转换为Timestamp值。static TimestampvalueOf(LocalDateTime dateTime) 从LocalDateTime对象获取Timestamp的实例,其年、月、日、小时、分钟、秒和纳秒日期时间值与提供的LocalDateTime相同。Methods declared in class java.util.Date
after, before, clone, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTimezoneOffset, getYear, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC
-
Constructor Details
-
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之前的毫秒数。 - 参见:
-
-
Method Details
-
setTime
public void setTime(long time) 将此Timestamp对象设置为表示距离1970年1月1日00:00:00 GMTtime毫秒的时间点。 -
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值 - 返回:
-
如果给定的
Timestamp对象等于此Timestamp对象,则返回true;否则返回false
-
equals
测试此Timestamp对象是否等于给定对象。此版本的equals方法已添加以修复Timestamp.equals(Timestamp)的不正确签名,并保留与现有类文件的向后兼容性。注意: 此方法对于基类中的equals(Object)方法不是对称的。 -
before
表示此Timestamp对象是否早于给定的Timestamp对象。- 参数:
-
ts- 要比较的Timestamp值 - 返回:
-
如果此
Timestamp对象早于给定对象,则返回true; 否则返回false
-
after
表示此Timestamp对象是否晚于给定的Timestamp对象。- 参数:
-
ts- 要比较的Timestamp值 - 返回:
-
如果此
Timestamp对象晚于给定对象,则返回true; 否则返回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为null。 - 自从:
- 1.8
-
toLocalDateTime
将此Timestamp对象转换为LocalDateTime。转换创建一个
LocalDateTime,表示与此Timestamp相同的年、月、日、小时、分钟、秒和纳秒日期时间值,位于本地时区中。- 返回:
-
一个表示相同日期时间值的
LocalDateTime对象 - 自从:
- 1.8
-
from
从Instant对象获取一个Timestamp实例。Instant可以存储比Date更远的时间线上的时间点。在这种情况下,此方法将抛出异常。- 参数:
-
instant- 要转换的瞬时时间 - 返回:
-
一个表示与提供的瞬时时间相同时间线上的
Timestamp - 抛出:
-
NullPointerException- 如果instant为null。 -
IllegalArgumentException- 如果瞬时时间太大,无法表示为Timestamp - 自从:
- 1.8
-
toInstant
将此Timestamp对象转换为一个Instant。转换创建一个
Instant,表示与此Timestamp相同时间线上的时间点。
-
Timestamp(long millis)