在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
相關用法
- Java java.time.Instant.adjustInto()用法及代碼示例
- Java java.time.Instant.atOffset()用法及代碼示例
- Java java.time.Instant.atZone()用法及代碼示例
- Java java.time.Instant.compareTo()用法及代碼示例
- Java java.time.Instant.equals()用法及代碼示例
- Java java.time.Instant.from()用法及代碼示例
- Java java.time.Instant.get()用法及代碼示例
- Java java.time.Instant.getEpochSecond()用法及代碼示例
- Java java.time.Instant.getLong()用法及代碼示例
- Java java.time.Instant.getNano()用法及代碼示例
- Java java.time.Instant.hashCode()用法及代碼示例
- Java java.time.Instant.isAfter()用法及代碼示例
- Java java.time.Instant.isBefore()用法及代碼示例
- Java java.time.Instant.isSupported()用法及代碼示例
- Java java.time.Instant.minus()用法及代碼示例
- Java java.time.Instant.minusMillis()用法及代碼示例
- Java java.time.Instant.minusNanos()用法及代碼示例
- Java java.time.Instant.minusSeconds()用法及代碼示例
- Java java.time.Instant.now()用法及代碼示例
- Java java.time.Instant.ofEpochMilli()用法及代碼示例
- Java java.time.Instant.ofEpochSecond()用法及代碼示例
- Java java.time.Instant.parse()用法及代碼示例
- Java java.time.Instant.plus()用法及代碼示例
- Java java.time.Instant.plusMillis()用法及代碼示例
- Java java.time.Instant.plusNanos()用法及代碼示例
注:本文由純淨天空篩選整理自ashutoshrathi大神的英文原創作品 java.time.Instant Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。