首頁技術(shù)文章正文

LocalTime?類與LocalDateTime類

更新時(shí)間:2021-08-31 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

LocalTime類用來表示時(shí)間,通常表示的是小時(shí)、分鐘、秒。與LoalDatle類一樣,該類不能代表時(shí)間線上的即時(shí)信息,只是時(shí)間的描述。在LocalTime類中提供了獲取時(shí)間對(duì)象的方法,與LoalDate用法類似,這里不再列舉。

同時(shí),LocalTime類也提供了與日期類相對(duì)應(yīng)的時(shí)間格式化、增減時(shí)分秒等常用方法,這些方法與日期類相對(duì)應(yīng),這里不再詳細(xì)列舉。下面通過一個(gè)案例來學(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í)、分、秒格式要求。通過文件5-22可以看出,LocalTime類的方法的使用與LocalDate基本一樣。

LocalDateTime類是LocalDate類與LocalTime類的綜合,它既包含日期,也包含時(shí)間,通過查看API可以知道,LocalDateTime類中的方法包含了LocalDate類與LocalTime類的方法。

需要注意的是,LocalDateTime默認(rèn)的格式是2020-02-29T21:23:26.774, 這可能與人們經(jīng)常使用的格式不太符合,所以它經(jīng)常與DateTimeFormatter一起使用指定格式,除了LocalDate與LocalTime類中的方法外,還額外提供了轉(zhuǎn)換的方法。下面通過一個(gè)案例來學(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í)間按指定格式打印。






猜你喜歡:

Java中父類方法重寫有哪些注意事項(xiàng)?

靜態(tài)內(nèi)部類指的是什么?如何使用?

Object類有什么作用?怎樣使用Object類?

黑馬程序員Java培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!