Java Instant
时间:2020-01-09 10:35:55 来源:igfitidea点击:
Java日期时间API(java.time.Instant
)中的Instant
类表示时间轴上的特定时刻。瞬时定义为距原点的偏移量(称为历元)。起点是1970年1月1日格林威治标准时间(格林尼治标准时间)00:00。
从每天开始,每天使用86.400秒来测量时间。
创建Instant
我们可以使用Instant类工厂方法之一创建一个Instant实例。例如,要创建一个表示当前确切时刻的"即时",请调用" Instant.now()",如下所示:
Instant now = Instant.now();
还有其他创建"即时"的方法。查阅JavaDoc了解更多信息。
访问即时时间
"即时"对象内部包含两个字段,其中包含"即时"表示的时间:
- 自时代以来的秒数。
- 纳秒
自纪元以来的秒数是自本教程开头提到的原点起的秒数。纳秒是该"即时"的一部分,不到一秒。
我们可以通过以下方法访问秒和纳秒:
getEpochSecond()
getNano()
即时计算
"即时"类还具有几种可用于相对于"即时"进行计算的方法。这些方法中的一些(不是全部)是:
plusSeconds()
plusMillis()
plusNanos()
minusSeconds()
minusMillis()
minusNanos()
我将在下面显示两个示例,以说明这些方法的工作原理:
Instant now = Instant.now(); Instant later = now.plusSeconds(3); Instant earlier = now.minusSeconds(3);
第一行创建一个新的" Instant",代表现在的时刻。第二行创建一个" Instant",代表3秒后的时刻,而第三行创建一个" Instant",代表3秒前的时刻。