- 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 方法 描述 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()
返回自1970年1月1日以来,由Timestamp
对象表示的00:00:00 GMT的毫秒数。int
hashCode()
返回此对象的哈希码值。void
setNanos(int n)
将此Timestamp
对象的nanos
字段设置为给定值。void
setTime(long time)
将此Timestamp
对象设置为表示1970年1月1日00:00:00 GMT后的time
毫秒的时间点。Instant
toInstant()
将此Timestamp
对象转换为Instant
。LocalDateTime
toLocalDateTime()
将此Timestamp
对象转换为LocalDateTime
。String
toString()
以JDBC时间戳转义格式格式化时间戳。static Timestamp
valueOf(String s)
将String
对象以JDBC时间戳转换格式转换为Timestamp
值。static Timestamp
valueOf(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
-
-