1.LocalTime

該類LocalTime是為需要處理時間但沒有日期的情況創建的。例如,假設您正在編寫一個鬧鐘應用程序。你關心的是時間,而不是日期。

該類LocalTime與類非常相似LocalDate——它的對像在創建後同樣不能更改。

獲取當前時間

要創建一個新LocalTime對象,您需要使用靜態now()方法。例子:

LocalTime time = LocalTime.now();

其中time是一個LocalTime變量,是對類的靜態方法的調用。LocalTime.now()now()LocalTime

例子:

代碼 控制台輸出
LocalTime time = LocalTime.now();
System.out.println("Now = " + time);

Now = 09:13:13.642881600

點後跟當前的納秒數。

2.獲取特定時間

要獲取特定時間,您需要使用靜態of()方法。例子:

LocalTime time = LocalTime.of(hours, minutes, seconds, nanoseconds);

您傳入小時、分鐘、秒和納秒。

例子:

代碼 控制台輸出
LocalTime time = LocalTime.of(12, 15, 0, 100);
System.out.println("Now = " + time);
Now = 12:15:00.000000100

順便說一下,這種方法還有兩種變體:

LocalTime time = LocalTime.of(hours, minutes, seconds);

LocalTime time = LocalTime.of(hours, minutes);

所以你可以使用對你來說更方便的那個。

根據秒的索引獲取時間

您還可以通過一天中秒的索引來獲取時間。為此,我們有靜態ofSecondOfDay()方法:

LocalTime time = LocalTime.ofSecondOfDay(seconds);

其中seconds是自一天開始以來的秒數。

例子:

代碼 控制台輸出
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

是的,10,000 秒不到三個小時。都是對的。

3.獲取時間要素

要從對像中獲取特定時間元素的值LocalTime,我們有以下方法:

方法 描述
int getHour()
返回小時數
int getMinute()
返回分鐘
int getSecond()
返回秒數
int getNano()
返回納秒

例子:

代碼 控制台輸出
LocalTime now = LocalTime.now();
System.out.println(now.getHour());
System.out.println(now.getMinute());
System.out.println(now.getSecond());
System.out.println(now.getNano());

2
46
40
0

LocalTime4.改變對像中的時間

該類LocalTime還有一些方法可以讓您處理時間。這些方法的實現類似於類的方法LocalDate:它們不更改現有LocalTime對象,而是返回一個包含所需數據的新對象。

以下是該類的方法LocalTime

方法 描述
plusHours(int hours)
增加小時數
plusMinutes(int minutes)
增加分鐘數
plusSeconds(int seconds)
加秒
plusNanos(int nanos)
添加納秒
minusHours(int hours)
減去小時數
minusMinutes(int minutes)
減去分鐘
minusSeconds(int seconds)
減秒
minusNanos(int nanos)
減去納秒

例子:

代碼 控制台輸出
LocalTime time = LocalTime.now();
LocalTime time2 = time.plusHours(2);
LocalTime time3 = time.minusMinutes(40);
LocalTime time4 = time.plusSeconds(3600);

System.out.println(time);
System.out.println(time2);
System.out.println(time3);
System.out.println(time4);





10:33:55.978012200
12:33:55.978012200
09:53:55.978012200
11:33:55.978012200

請注意,在每種情況下,我們都會得到一個相對於原始time對象的新時間。如果你添加3600 seconds到一個時間,那麼你添加 exactly 1hour