當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。