当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java java.time.Instant用法及代码示例


在Java语言中,Instant类用于表示当前时间线上的特定时刻。即时类扩展了对象类并实现了 Comparable 接口。

即时类声明

public final class Instant extends Object    
implements Temporal, TemporalAdjuster, Comparable<Instant>, Serializable  

类的字段:

场地 说明
EPOCH 1970-01-01T00:00:00Z 纪元时刻的常量。
MAX 支持的最大即时值‘1000000000-12-31T23:59:59.999999999Z’。
MIN 支持的最小即时值‘-1000000000-01-01T00:00Z’。

类的方法:

方法

Description

adjustmentInto(时间时间) 此方法调整指定的时间对象以具有该时刻。
atOffset(ZoneOffset 偏移量) 此方法将此时刻与偏移量相结合以创建 OffsetDateTime。
atZone(ZoneId 区域) 此方法将此时刻与时区结合起来创建 ZonedDateTime。
比较(即时其他即时) 此方法将此时刻与指定时刻进行比较。
等于(对象 otherInstant) 此方法检查该时刻是否等于指定时刻。
来自(TemporalAccessor 时间) 此方法从时间对象获取 Instant 的实例。
获取(TemporalField 字段) 此方法从此时开始获取指定字段的 int 值。
getEpochSecond() 此方法获取从 Java 纪元 1970-01-01T00:00:00Z 开始的秒数。
getLong(TemporalField 字段) 此方法从此时开始获取指定字段的值。
getNano() 此方法获取从秒开始起沿着时间线的纳秒数。
hashCode() 此方法返回此时的哈希码。
isAfter(即时其他即时) 此方法检查该时刻是否在指定时刻之后。
isBefore(即时 otherInstant) 此方法检查该时刻是否在指定时刻之前。
isSupported(TemporalField 字段) 该方法检查指定字段是否受支持。
isSupported(TemporalUnit 单位) 此方法检查是否支持指定的单位。
减(long amountToSubtract,TemporalUnit 单位) 此方法返回该时刻的副本,并减去指定的数量。
减(TemporalAmount amountToSubtract) 此方法返回该时刻的副本,并减去指定的数量。
minusMillis(long millisToSubtract) 此方法返回该时刻的副本,并减去指定的持续时间(以毫秒为单位)。
minusNanos(long nanosToSubtract) 此方法返回该时刻的副本,并减去指定的纳秒持续时间。
minusSeconds(长秒数减去) 此方法返回该时刻的副本,并减去指定的持续时间(以秒为单位)。
now() 该方法从系统时钟获取当前时刻。
现在(时钟) 该方法从指定时钟获取当前时刻。
ofEpochMilli(long epochMilli) 此方法使用 1970-01-01T00:00:00Z 纪元的毫秒数获取 Instant 的实例。
ofEpochSecond(long epochSecond) 此方法使用 1970-01-01T00:00:00Z 纪元的秒数获取 Instant 的实例。
ofEpochSecond(long epochSecond, long nanoAdjustment) 此方法使用 1970-01-01T00:00:00Z 纪元的秒数和秒的纳秒小数部分获取 Instant 的实例。
解析(字符序列文本) 此方法从文本字符串(例如 2007-12-03T10:15:30.00Z)获取 Instant 的实例。
plus(long amountToAdd, TemporalUnit 单位) 此方法返回此时刻的副本,并添加指定的数量。
plus(TemporalAmount amountToAdd) 此方法返回此时刻的副本,并添加指定的数量。
plusMillis(long millisToAdd) 此方法返回该时刻的副本,并添加指定的持续时间(以毫秒为单位)。
plusNanos(长nanosToAdd) 此方法返回该时刻的副本,并添加指定的纳秒持续时间。
plusSeconds(长秒数添加) 此方法返回该时刻的副本,并添加指定的持续时间(以秒为单位)。
查询(TemporalQuery<R> 查询) 此方法使用指定的查询查询当前时刻。
范围(TemporalField 字段) 此方法获取指定字段的有效值范围。
toEpochMilli() 此方法将此时刻转换为从 1970-01-01T00:00:00Z 纪元开始的毫秒数。
toString() 使用 ISO-8601 表示形式的该时刻的字符串表示形式。
truncatedTo(TemporalUnit 单位) 此方法返回此 Instant 的副本(截断为指定单位)。
直到(Temporal endExclusive,TemporalUnit 单位) 此方法以指定单位计算距另一时刻的时间量。
with(TemporalAdjuster 调节器) 此方法返回该时刻的调整后的副本。
with(TemporalField field, long newValue) 此方法返回该时刻的副本,并将指定字段设置为新值。

例子:

下面的例子展示了不同的方法如何与课堂作业相关联

Java


import java.time.*; 
import java.time.temporal.*; 
public class GFG { 
    public static void main(String[] args) 
    { 
        // Parsing a string sequence to Instant 
        Instant inst1 = Instant.parse("2021-02-09T11:19:42.12Z"); 
        System.out.println("Parsed instant is " + inst1); 
        
        // Using isSupported() method to check whether the 
        // specified field is supported or not 
        System.out.println(inst1.isSupported(ChronoUnit.DAYS)); 
        System.out.println(inst1.isSupported(ChronoUnit.YEARS)); 
        
        // Using Instant.now() to get current instant 
        Instant cur = Instant.now(); 
        System.out.println("Current Instant is " + cur); 
        
        // Using minus() method to find instant value after 
        // subtraction 
        Instant diff = inst1.minus(Duration.ofDays(70)); 
        System.out.println("Instant after subtraction : "+ diff); 
        
        // Using plus() method to find instant value after 
        // addition 
        Instant sum = inst1.plus(Duration.ofDays(10)); 
        System.out.println("Instant after addition : "+ sum); 
    } 
}
输出
Parsed instant is 2021-02-09T11:19:42.120Z
true
false
Current Instant is 2021-03-03T16:27:54.378693Z
Instant after subtraction : 2020-12-01T11:19:42.120Z
Instant after addition : 2021-02-19T11:19:42.120Z


相关用法


注:本文由纯净天空筛选整理自ashutoshrathi大神的英文原创作品 java.time.Instant Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。