更新時間:2021年08月31日13時40分 來源:傳智教育 瀏覽次數(shù):
LocalTime類用來表示時間,通常表示的是小時、分鐘、秒。與LoalDatle類一樣,該類不能代表時間線上的即時信息,只是時間的描述。在LocalTime類中提供了獲取時間對象的方法,與LoalDate用法類似,這里不再列舉。
同時,LocalTime類也提供了與日期類相對應(yīng)的時間格式化、增減時分秒等常用方法,這些方法與日期類相對應(yīng),這里不再詳細列舉。下面通過一個案例來學(xué)習(xí)LocalTime類的方法,如文件5-22所示。
文件5-22 Example22.java
import java.Time.format.DateTimeFormatter; public class Example22 public static void main (String[] args) { //獲取當(dāng)前時間,包含毫秒數(shù) LocalTime time = LocalTime.now () ; LocalTime of = LocalTime.of (9,23,23); System.out.println("從LocalTime獲取的小時為: "+time.getHour() ); System. out.println ("將獲取到的Loacaltime實例格式化為: "十 time. format (DateTimeFormatter. ofPattern (HH:mm:ss") ) ) System.out.println("判斷時間of是否在now之前,+of.isBefore (time) System.out.printin ("將時間字符串解析為時間對象后為:“+ LocalTime.parse(“12:15:30”) System.out.println ("從LocalTime獲取當(dāng)前時間,不包含毫秒數(shù): "+ time.WithNano(0) );
文件5-22中調(diào)用了幾個LocalTime的方法。需要注意的是,當(dāng)使用parse ( )方法解析字符串時,該字符串要符合默認的時、分、秒格式要求。通過文件5-22可以看出,LocalTime類的方法的使用與LocalDate基本一樣。
LocalDateTime類是LocalDate類與LocalTime類的綜合,它既包含日期,也包含時間,通過查看API可以知道,LocalDateTime類中的方法包含了LocalDate類與LocalTime類的方法。
需要注意的是,LocalDateTime默認的格式是2020-02-29T21:23:26.774, 這可能與人們經(jīng)常使用的格式不太符合,所以它經(jīng)常與DateTimeFormatter一起使用指定格式,除了LocalDate與LocalTime類中的方法外,還額外提供了轉(zhuǎn)換的方法。下面通過一個案例來學(xué)習(xí)LocalDateTime 類中特有的方法,如文件5-23所示。
文件5-23 Example23.java
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Example23 public static void main(String[] args) { // 獲取當(dāng)前年月日時分秒 LocalDateTime now = LocalDateTime .now () ; out.println ("獲取的當(dāng)前日期時間為: "+now); system.out.println("將目標(biāo)LocalDateTime轉(zhuǎn)換為相應(yīng)的LocalDate實例:"+ now. toLocalTime () ) ; //指定格式 DateTimeFormatter ofPattern = DateTimeFormatter.ofPattern ("yyyy年mm月dd日hh時mm分ss秒”) System.out.println"(格式化后的日期時間為: "+now.format(ofPattern) );
在文件5-3中,第6行代碼定義了一個名稱為now的LocalDateTime實例,第7行代碼直接打印當(dāng)前日期now,第8~9行代碼使用LocalDateTime的toLocalDate( )方法將now轉(zhuǎn)換為相應(yīng)的LocalDate實例,第10~11行代碼使用toLocalTime( )方法將now轉(zhuǎn)換為相應(yīng)的LocalTime 實例,第13~14行代碼使用DateTimeFormatter的ofPattern( )方法將時間格式指定為“yyy 年mm月dd日hh時mm分ss秒”,第15行代碼使用LocalDateTime的format( )方法將now的時間按指定格式打印。