- java.lang.Object
-
- java.util.Date
-
- java.sql.Timestamp
-
- All Implemented Interfaces:
-
Serializable,Cloneable,Comparable<Date>
public class Timestamp extends Date
一个围绕
java.util.Date的薄型封装,允许JDBC API将其标识为SQLTIMESTAMP值。 它通过允许将秒数的规定精确到纳秒来增加保持SQLTIMESTAMP分秒数值的能力。 时间戳记还提供格式化和解析操作,以支持时间戳值的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,因为日期的nanos组件是未知的。 其结果是,该Timestamp.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
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 booleanafter(Timestamp ts)指示此Timestamp对象是否晚于给定的Timestamp对象。booleanbefore(Timestamp ts)指示此Timestamp对象是否早于给定的Timestamp对象。intcompareTo(Timestamp ts)将此Timestamp对象与给定的Timestamp对象进行比较。intcompareTo(Date o)将此Timestamp对象与给定的Date对象进行比较。booleanequals(Object ts)测试这个Timestamp对象是否等于给定的对象。booleanequals(Timestamp ts)测试看看这个Timestamp对象是否等于给定的Timestamp对象。static Timestampfrom(Instant instant)从Instant对象获取一个Timestamp的实例。intgetNanos()获取此Timestamp对象的nanos值。longgetTime()返回自1970年1月1日以来,由Timestamp对象表示的00:00:00 GMT的毫秒数。inthashCode()返回此对象的哈希码值。voidsetNanos(int n)将此Timestamp对象的nanos字段设置为给定值。voidsetTime(long time)将此Timestamp对象设置为表示1970年1月1日00:00:00 GMT后的time毫秒的时间点。InstanttoInstant()将此Timestamp对象转换为Instant。LocalDateTimetoLocalDateTime()将此Timestamp对象转换为LocalDateTime。StringtoString()以JDBC时间戳转义格式格式化时间戳。static TimestampvalueOf(String s)将String对象以JDBC时间戳转换格式转换为Timestamp值。static TimestampvalueOf(LocalDateTime dateTime)获取的实例Timestamp从LocalDateTime对象,以相同的年,月,月日,时,分,秒和毫微秒日期时间值作为提供LocalDateTime。-
Methods inherited from 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
-
-
-
-
构造方法详细信息
-
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- 年减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()
返回自1970年1月1日以来,由Timestamp对象表示的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 - 结果
-
一个
String对象在yyyy-mm-dd hh:mm:ss.fffffffff格式 - 另请参见:
-
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对象相等; 一个值小于0如果这个Timestamp对象是在给定的参数之前; 并且如果此Timestamp对象在给定参数之后,则值大于0。 - 从以下版本开始:
- 1.4
-
compareTo
public int compareTo(Date o)
将此Timestamp对象与给定的Date对象进行比较。- Specified by:
-
compareTo在接口Comparable<Date> - 重写:
-
compareTo在Date - 参数
-
o-的Date被比作此Timestamp对象 - 结果
-
值
0如果这个Timestamp对象和给定对象是相等的; 一个值小于0如果这个Timestamp对象是在给定的参数之前; 并且如果此Timestamp对象在给定参数之后,该值大于0。 - 从以下版本开始:
- 1.5
-
hashCode
public int hashCode()
返回此对象的哈希码值。 结果是由Date.getTime()方法返回的原始long值的两半的异或。 也就是说,哈希码是表达式的值:(int)(this.getTime()^(this.getTime() >>> 32))hashCode方法使用底层的java.util.Date实现,因此在其计算中不包括java.util.Date。- 重写:
-
hashCode在Date - 结果
- 该对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
valueOf
public static Timestamp valueOf(LocalDateTime dateTime)
获取的实例Timestamp从LocalDateTime对象,以相同的年,月,月日,时,分,秒和毫微秒日期时间值作为提供LocalDateTime。提供的
LocalDateTime被解释为本地时区的本地日期时间。- 参数
-
dateTime- a转换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
-
-