1. 程式人生 > >Java的日期與時間(十)java.time.Instant

Java的日期與時間(十)java.time.Instant

Java的日期與時間

Instant類在Java日期與時間功能中,表示了時間線上一個確切的點,定義為距離初始時間的時間差(初始時間為GMT 1970年1月1日00:00)
經測量一天有86400秒,從初始時間開始不斷向前移動。

建立一個Instant例項

(原話:You create an Instant instance using one of the Instant
class factory methods. For instance, to create an Instant
which represents this exact moment of now, call
Instant

.now(),我翻譯不出這句的感覺,所以在此附上原文)

你可以通過Instant類的工廠方法建立一個Instant例項,例如你可以呼叫instant.now()來建立一個確切的表達當前時間的Instant物件:

Instant now = Instant.now();

另外也有一些其它方法能建立Instant,具體請查閱Java官方文件。

訪問Instant的時間
一個Instant物件裡有兩個域:距離初始時間的秒鐘數、在當前一秒內的第幾納秒,他們的組合表達了當前時間點。你可以通過以下兩個方法得到它們的值:

long seconds =  getEpochSecond()
int
nanos = getNano()

Instant的計算
Instant類有一些方法,可以用於獲得另一Instant的值,例如:

plusSeconds()
plusMillis()
plusNanos()
minusSeconds()
minusMillis()
minusNanos()

我下面將向你展示兩個例子,來說明這些方法如何使用:

Instant now     = Instant.now();
Instant later   = now.plusSeconds(3);
Instant earlier = now.minusSeconds(3);

第一行獲得了一個Instant物件,表示當前時間。第二行建立了一個Instant表示三秒後,第三行建立了一個Instant表示三秒前。