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