欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA時(shí)間存儲(chǔ)類Period和Duration使用詳解

 更新時(shí)間:2022年09月29日 10:16:03   作者:Java面試365  
這篇文章主要為大家介紹了JAVA時(shí)間存儲(chǔ)類Period和Duration使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

在JDK1.8中區(qū)分了時(shí)間和日期的概念,所以有了兩個(gè)對應(yīng)的類,LocalDate和LocalTime,區(qū)別如下

  • LocalDate表示日期,不會(huì)包含具體的時(shí)間,例如2022-09-26。
  • LocalTime表示時(shí)間,不會(huì)包含日期,僅僅包含時(shí)分秒。

簡單使用如下

LocalDate localDate = LocalDate.now();
// 執(zhí)行結(jié)果:2022-09-26
System.out.println(localDate);
LocalTime localTime = LocalTime.now();
// 執(zhí)行結(jié)果:16:17:12.381
System.out.println(localTime);

區(qū)分了時(shí)間和日期的概念后,為方便使用JDK1.8又推出了兩個(gè)用于存儲(chǔ)時(shí)間和日期的類,分別為Duraction和Period,這兩個(gè)類的區(qū)別和LocalDate和LocalTime是一一對應(yīng)的。

  • Period:表示日期的存儲(chǔ)用于度量年月日,一般用于存儲(chǔ)多個(gè)日期之間相差的日期值。
  • Duraction:表示時(shí)間的存儲(chǔ)用于度量時(shí)分秒,一般用于存儲(chǔ)多個(gè)時(shí)間之間相差的時(shí)間值。

Period類

Period可以應(yīng)用于存儲(chǔ)兩個(gè)日期之間的日期差,存儲(chǔ)年月日。

LocalDate localDate1 = LocalDate.of(2022,8,20);
LocalDate localDate2 = LocalDate.now();
// 計(jì)算兩個(gè)日期之間的差值
Period between = Period.between(localDate1, localDate2);
// 區(qū)間是否為0
System.out.println(between.isZero());
// 區(qū)間是否為負(fù)數(shù)
System.out.println(between.isNegative());
// 獲取區(qū)間相差幾年、幾月、幾日
System.out.println(between.getYears());
System.out.println(between.getMonths());
System.out.println(between.getDays());
// 區(qū)間相差的總月份
System.out.println(between.toTotalMonths());

除了主要場景外還提供一些其它API

實(shí)例化

// Period對象實(shí)例化可以直接調(diào)用of方法指定年月日,注意Period只做日期存儲(chǔ)所以不會(huì)校驗(yàn)?zāi)暝氯帐欠穹先掌谝?guī)范?。?!
Period period = Period.of(2022, 20, 5);
// 所以當(dāng)我們想取正常日期值時(shí)可以調(diào)用normalized方法轉(zhuǎn)換
Period period1 = Period.of(2022, 19, 9);
// 展示結(jié)果:2022==19
System.out.println(period1.getYears()+"=="+period1.getMonths());
Period period2 = period1.normalized();
// 展示結(jié)果:2023==7
System.out.println(period2.getYears()+"=="+period2.getMonths());

設(shè)置值

Period period1 = Period.of(2022, 19, 9);
// 值為:9
System.out.println(period1.getDays());
// 修改天數(shù)值,不會(huì)修改年月
Period period2 = period1.withDays(2);
// 值為:2
System.out.println(period2.getDays());
//=================================================
// plus相加,minus相減
Period period3 = period1.plusDays(2);
// 值為:11
System.out.println(period3.getDays());

年月日都可以用with、plus、minus相關(guān)API設(shè)置值~

其它API

Period period1 = Period.of(2022, 19, 9);
LocalDate localDate = LocalDate.of(2022,1,2);
// 給指定日期加上Period對象存儲(chǔ)的日期
Temporal temporal = period1.addTo(localDate);
// 返回結(jié)果:4045-08-11(日期對象)
System.out.println(temporal);
Period period2 = Period.of(1, 1, 2);
// 給指定日期減去Period對象存儲(chǔ)的日期
LocalDate localDate1 = LocalDate.of(2022,1,2);
// 返回結(jié)果:2020-11-30(日期對象)
System.out.println(period2.subtractFrom(localDate1));

Duraction類

Duraction可以應(yīng)用于存儲(chǔ)兩個(gè)時(shí)間之間的時(shí)間差,可以存儲(chǔ)時(shí)分秒。

LocalTime localTime1 = LocalTime.of(10,1,2);
LocalTime localTime2 = LocalTime.now();
// 得出時(shí)間區(qū)間間隔的時(shí)間差
Duration between = Duration.between(localTime1, localTime2);
// 區(qū)間相差天數(shù)
System.out.println(between.toDays());
// 區(qū)間相差小時(shí)
System.out.println(between.toHours());
// 區(qū)間相差分鐘
System.out.println(between.toMinutes());
// 區(qū)間中的秒數(shù)
System.out.println(between.getSeconds());
// 區(qū)間相差毫秒
System.out.println(between.toMillis());
// 區(qū)間相差納秒
System.out.println(between.toNanos());
System.out.println("======================");
Duration duration = Duration.ZERO;
// 區(qū)間是否為0
System.out.println(duration.isZero());
// 區(qū)間是否為負(fù)
System.out.println(between.isNegative());

其它API

Duration duration = Duration.ofSeconds(10);
// 值為:10
System.out.println(duration.getSeconds());
// 值取反
Duration duration1 = duration.negated();
// 值為:-10
System.out.println(duration1.getSeconds());
// 值除上指定值,得商
Duration duration2 = duration.dividedBy(2);
// 值為:5
System.out.println(duration2.getSeconds());
// 取絕對值
Duration duration3 = Duration.ofSeconds(-9).abs();
// 值為:9
System.out.println(duration3.getSeconds());

Duration對象同樣有minus、plus、with相關(guān)方法,使用方法可以參考Period對象使用。

以上就是JAVA時(shí)間存儲(chǔ)類Period和Duration使用詳解的詳細(xì)內(nèi)容,更多關(guān)于JAVA時(shí)間存儲(chǔ)類Period Duration的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • TCP/IP協(xié)議中三次握手四次揮手的原理及流程分析

    TCP/IP協(xié)議中三次握手四次揮手的原理及流程分析

    這篇文章主要介紹了TCP/IP協(xié)議中三次握手四次揮手的原理及流程分析,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • mybatis in查詢條件過長的解決方案

    mybatis in查詢條件過長的解決方案

    這篇文章主要介紹了mybatis in查詢條件過長的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • SpringCloudGateway開發(fā)過程解析

    SpringCloudGateway開發(fā)過程解析

    這篇文章主要介紹了SpringCloudGateway開發(fā)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • SpringBoot編譯target目錄下沒有resource下的文件踩坑記錄

    SpringBoot編譯target目錄下沒有resource下的文件踩坑記錄

    這篇文章主要介紹了SpringBoot編譯target目錄下沒有resource下的文件踩坑記錄,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • SpringBoot應(yīng)用部署到外置Tomcat的實(shí)現(xiàn)

    SpringBoot應(yīng)用部署到外置Tomcat的實(shí)現(xiàn)

    SpringBoot內(nèi)置tomcat使用很方便,本文主要介紹了SpringBoot應(yīng)用部署到外置Tomcat的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07
  • Java8排序stream.sorted()的使用

    Java8排序stream.sorted()的使用

    這篇文章主要介紹了Java8排序stream.sorted()的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • MyBatis常見報(bào)錯(cuò)問題及解決方案

    MyBatis常見報(bào)錯(cuò)問題及解決方案

    這篇文章主要介紹了MyBatis常見報(bào)錯(cuò)問題及解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java獲取resources下文件路徑的幾種方法及遇到的問題

    Java獲取resources下文件路徑的幾種方法及遇到的問題

    這篇文章主要給大家介紹了關(guān)于Java獲取resources下文件路徑的幾種方法及遇到的問題,在Java開發(fā)中經(jīng)常需要讀取項(xiàng)目中resources目錄下的文件或獲取資源路徑,需要的朋友可以參考下
    2023-12-12
  • Java迭代器與Collection接口超詳細(xì)講解

    Java迭代器與Collection接口超詳細(xì)講解

    Collection也稱集合,集合概述:集合是Java中提供的一種容器,可以用來存儲(chǔ)多個(gè)數(shù)據(jù)。Iterator(迭代器)不是一個(gè)集合,它是一種用于訪問集合的方法,可用于迭代 ArrayList 和 HashSet 等集合
    2022-07-07
  • idea版本控制忽略.idea文件和.iml文件的問題

    idea版本控制忽略.idea文件和.iml文件的問題

    這篇文章主要介紹了idea版本控制忽略.idea文件和.iml文件,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評論