public class Timestamp extends Date
一个围绕java.util.Date
的薄包装,允许JDBC API将其标识为SQL TIMESTAMP
值。 它增加了保持SQL 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)
方法。 此外, hashCode
方法使用底层的java.util.Date
实现,因此在其计算中不包括纳米。
由于Timestamp
类与上述java.util.Date
类之间的Timestamp
,建议代码不会一般视图Timestamp
值java.util.Date
。 Timestamp
和java.util.Date之间的Timestamp
java.util.Date
真的表示实现继承,而不是类型继承。
Constructor and Description |
---|
Timestamp(int year, int month, int date, int hour, int minute, int second, int nano)
已弃用
而是使用构造
Timestamp(long millis)
|
Timestamp(long time)
使用毫秒时间值构造一个
Timestamp 对象。
|
Modifier and Type | Method and Description |
---|---|
boolean |
after(Timestamp ts)
表示是否
Timestamp 对象晚于给定
Timestamp 对象。
|
boolean |
before(Timestamp ts)
指示此
Timestamp 对象是否早于给定的
Timestamp 对象。
|
int |
compareTo(Date o)
将此
Timestamp 对象与给定的
Date 对象进行比较。
|
int |
compareTo(Timestamp ts)
将此
Timestamp 对象与给定的
Timestamp 对象进行比较。
|
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的毫秒
Timestamp 。
|
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(LocalDateTime dateTime)
从
LocalDateTime 对象获取
Timestamp 的实例,具有与提供的相同年份,月份,月份,小时,分钟,秒和纳秒日期时间值作为提供的
LocalDateTime 。
|
static Timestamp |
valueOf(String s)
将JDBC时间戳转义格式的
String 对象转换为
Timestamp 值。
|
after, before, clone, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTimezoneOffset, getYear, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC
@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毫秒的时间点。
setTime
在类别
Date
time
-
time
数。
getTime()
, Timestamp(long time)
, Calendar
public long getTime()
Timestamp
对象表示的00:00:00 GMT的毫秒
Timestamp
。
getTime
在类别
Date
setTime(long)
public static Timestamp valueOf(String s)
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...]
public String toString()
yyyy-mm-dd hh:mm:ss.fffffffff
,其中ffffffffff
表示纳秒。
toString
在类别
Date
String
对象在
yyyy-mm-dd hh:mm:ss.fffffffff
格式
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
价值比较
true
如果给定的Timestamp
对象等于这个Timestamp
对象;
false
否则
public boolean equals(Object ts)
Timestamp
对象是否等于给定的对象。
已添加此版本的方法equals
以修复Timestamp.equals(Timestamp)的不Timestamp.equals(Timestamp)
,并保留与现有类文件的向后兼容性。
注意:该方法对于基类中的equals(Object)
方法是equals(Object)
。
equals
在类别
Date
ts
-
Object
对比的
Object
值
true
如果给定Object
是一个实例Timestamp
等于这个Timestamp
对象;
false
否则
Date.getTime()
public boolean before(Timestamp ts)
Timestamp
对象是否早于给定的
Timestamp
对象。
ts
-
Timestamp
对比的
Timestamp
值
true
如果这个Timestamp
对象较早;
false
否则
public boolean after(Timestamp ts)
Timestamp
对象是否晚于给定的
Timestamp
对象。
ts
-
Timestamp
对比的
Timestamp
值
true
如果这个Timestamp
对象稍后;
false
否则
public int compareTo(Timestamp ts)
Timestamp
对象与给定的
Timestamp
对象进行比较。
ts
-所述
Timestamp
对象物相比,这
Timestamp
对象
0
如果两个Timestamp
对象相等;
一个值小于0
如果这个Timestamp
对象是在给定的参数之前;
并且如果此Timestamp
对象在给定参数之后,则值大于0
。
public int compareTo(Date o)
Timestamp
对象与给定的
Date
对象进行比较。
compareTo
在界面
Comparable<Date>
compareTo
在类别
Date
o
-的
Date
被比作此
Timestamp
对象
Timestamp
对象和给定对象相等,则值为0
;
一个值小于0
如果这个Timestamp
对象是在给定的参数之前;
并且如果此Timestamp
对象在给定参数之后,则值大于0
。
public int hashCode()
Date.getTime()
方法返回的原始long值的两半的异或。
也就是说,哈希码是表达式的值:
(int)(this.getTime()^(this.getTime() >>> 32))
hashCode
方法使用底层的java.util.Date
实现,因此在其计算中不包括纳米。
hashCode
在类别
Date
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public static Timestamp valueOf(LocalDateTime dateTime)
Timestamp
从LocalDateTime
对象,以相同的年,月,月日,时,分,秒和毫微秒日期时间值作为提供LocalDateTime
。
提供的LocalDateTime
被解释为本地时区的本地日期时间。
dateTime
- a
LocalDateTime
转换
Timestamp
对象
NullPointerException
- 如果
dateTime
为空。
public LocalDateTime toLocalDateTime()
Timestamp
对象转换为LocalDateTime
。
转换创建一个LocalDateTime
表示同一年,月,日,时,分,秒和毫微秒日期时间值,因为这Timestamp
在本地时区。
LocalDateTime
对象
public static Timestamp from(Instant instant)
Instant
对象获取一个Timestamp
的实例。
Instant
可以在未来进一步存储时间点上的积分,并且在过去比Date
进一步。 在这种情况下,此方法将抛出异常。
instant
- 即时转换
Timestamp
代表在提供的时刻的时间线上的相同点
NullPointerException
- 如果
instant
为空。
IllegalArgumentException
- 如果瞬间太大,无法表示为
Timesamp