最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java8日期工具類封裝的實戰(zhàn)記錄

 更新時間:2021年09月17日 12:38:26   作者:蘇世_  
java time包中的是類是不可變且線程安全的,新的時間及日期API位于java.time中,下面這篇文章主要給大家介紹了關(guān)于java8日期工具類封裝的相關(guān)資料,需要的朋友可以參考下

前言

java現(xiàn)在應(yīng)該是更新到16了,想想我當(dāng)年剛參加工作的時候。普遍還都是java7,那時候沒有SpringBoot,沒有springCloud,沒有我的那個她 哈哈,扯的有點(diǎn)遠(yuǎn)了,拉回正題

今天我們聊聊java的日期類的一些騷操作

在Java 8中如何處理日期和時間

Java 8 中的 LocalDate 用于表示當(dāng)天日期。和java.util.Date不同,它只有日期,不包含時間。當(dāng)你僅需要表示日期時就用這個類。

LocalDate today = LocalDate.now();
System.out.println("Today's Local date : " + today);


Today's Local date : 2021-08-27

那接下來比如我們獲取具體的年月日

LocalDate today = LocalDate.now();
int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();
System.out.printf("Year="+year + "month =" +month + "day ="+day);
 
Year=2021month = 8day=27

那肯定有小伙伴問了,那比如我們平時工作過程中怎么指定格式化日期呢?

在上面第一個例子里,我們通過靜態(tài)工廠方法now()非常容易地創(chuàng)建了當(dāng)天日期,你還可以調(diào)用另一個有用的工廠方法LocalDate.of()創(chuàng)建任意日期, 該方法需要傳入年、月、日做參數(shù),返回對應(yīng)的LocalDate實例。

LocalDate yearAndMonthDay = LocalDate.of(2021, 08, 27);
System.out.println("yearAndMonthDay is : " + yearAndMonthDay);
 
yearAndMonthDay is : 2021-08-27

先介紹這幾種,下面給出自己再封裝的一些常用方法

再封裝

下面我是在平常過程當(dāng)中簡單寫了幾個工具方法

**
 * java 8 日期工具類再封裝
 * 盡量用java8的工具類操作日期
 * @Date 2021/6/2 4:01 下午
 * @Author yn
 */
@Component
public class LocalDateUtil {


    /**
     * 比較第一個日期是否小于第二個日期
     * @param firstDate 第一個日期
     * @param secondDate 第二個日期
     * @return true-小于;false-大于
     */
    public static boolean localDateIsBefore(LocalDate firstDate, LocalDate secondDate) {
        return firstDate.isBefore(secondDate);
    }



    /**
     * 比較第一個日期是否大于第二個日期
     * @param firstDate 第一個日期
     * @param secondDate 第二個日期
     * @return true-大于;false-不大于
     */
    public static boolean localDateIsAfter(LocalDate firstDate, LocalDate secondDate) {
        return firstDate.isAfter(secondDate);
    }

    /**
     * 比較兩個日期是否相等
     * @param firstDate 第一個日期
     * @param secondDate 第二個日期
     * @return true-相等;false-不相等
     */
    public static boolean localDateIsEqual(LocalDate firstDate, LocalDate secondDate) {
        return firstDate.isEqual(secondDate);
    }


    /**
     * 字符串轉(zhuǎn)換datetime
     * @param dateTime
     * @return yyyy-MM-dd HH:mm:ss
     */
    public static Date stringCoverDateTime(String dateTime){
        LocalDateTime startDateTime =
                LocalDateTime.parse(dateTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        Date LocalDateTimeToDate = Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant());
        return LocalDateTimeToDate;
    }


    /**
     * 字符串轉(zhuǎn)換date
     * @param dateTime
     * @return  yyyy-MM-dd
     */
    public static Date stringCoverDate(String dateTime){
        LocalDateTime startDateTime =
                LocalDateTime.parse(dateTime, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
        Date LocalDateTimeToDate = Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant());
        return LocalDateTimeToDate;
    }
}

Java8新增的日期、時間包

為了彌補(bǔ)傳統(tǒng)Java對日期、時間處理的不足,Java8提供了一套全新的日期時間庫。Java8專門新增了一個java.time包,該包下包含了如下常用類。(各位小伙伴可以去該包下面看下)

  • Clock:該類用于獲取指定時區(qū)的當(dāng)前日期、時間。該類可以取代System類的currentTimeMillis()方法,該類提供了大量的方法獲取當(dāng)前的日期和時間
  • Duration:該類代表持續(xù)時間
  • Instant:該類代表一個具體的時刻,可以精確到納秒。該類主要提供了以下幾個方法:

1)now():獲取當(dāng)前時刻。

2)now(Clock clock):獲取clock對應(yīng)的時刻。

3)minusXxx():在當(dāng)前時刻基礎(chǔ)上減去一段時間。

4)plusXxx():在當(dāng)前時刻基礎(chǔ)上加上一段時間。

  • LocalDate:該類代表不帶時區(qū)的日期,如:2021-08-27
  • LocalTime:該類代表不帶時區(qū)的時間,如:10:20:09
  • LocalDateTime:該類代表不帶時區(qū)的日期、時間,如:2021-08-27T10:20:09。
  • ZonedDateTime:該類代表一個時區(qū)化的日期、時間。
  • ZonedId:該類代表一個時區(qū)。
  • DayOfWeek:該類是一個枚舉類,定義了周日到周六的枚舉值。
  • Month:該類是一個枚舉類,定義了一月到十二月的枚舉值。

OK。java8的日期的類先介紹到這里

總結(jié)

我們應(yīng)該學(xué)會總結(jié),java的每一次迭代  都會更新呢一些有利于我們開發(fā)的工具類,我們在日常開發(fā)中,要學(xué)會利用并總結(jié)出一套提高開發(fā)效率的一種東西

到此這篇關(guān)于java8日期工具類封裝的文章就介紹到這了,更多相關(guān)java8日期工具類封裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis中使用InsertProvider注解報錯解決全過程

    mybatis中使用InsertProvider注解報錯解決全過程

    這篇文章主要介紹了mybatis中使用InsertProvider注解報錯解決全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java11新特性之HttpClient小試牛刀

    Java11新特性之HttpClient小試牛刀

    本文主要研究一下Java11的HttpClient的基本使用。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • JAVA位運(yùn)算的知識點(diǎn)總結(jié)

    JAVA位運(yùn)算的知識點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于JAVA有關(guān)位運(yùn)算的全套梳理,需要的朋友們可以參考學(xué)習(xí)下。
    2020-03-03
  • 關(guān)于springboot2.4跨域配置問題

    關(guān)于springboot2.4跨域配置問題

    這篇文章主要介紹了springboot2.4跨域配置的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • SpringCloud動態(tài)配置注解@RefreshScope與@Component的深度解析

    SpringCloud動態(tài)配置注解@RefreshScope與@Component的深度解析

    在現(xiàn)代微服務(wù)架構(gòu)中,動態(tài)配置管理是一個關(guān)鍵需求,本文將為大家介紹Spring Cloud中相關(guān)的注解@RefreshScope與@Component的使用,需要的小伙伴可以參考下
    2025-04-04
  • Java線程池的簡單使用方法實例教程

    Java線程池的簡單使用方法實例教程

    線程的使用在java中占有極其重要的地位,在jdk1.4極其之前的jdk版本中,關(guān)于線程池的使用是極其簡陋的,在jdk1.5之后這一情況有了很大的改,這篇文章主要給大家介紹了關(guān)于Java線程池的簡單使用方法,需要的朋友可以參考下
    2021-10-10
  • java中struts2實現(xiàn)文件上傳下載功能

    java中struts2實現(xiàn)文件上傳下載功能

    這篇文章主要介紹了java中struts2實現(xiàn)文件上傳下載功能的方法,以實例形式分析了struts2文件上傳下載功能的實現(xiàn)技巧與相關(guān)問題,具有一定的參考借鑒價值,需要的朋友可以參考下
    2016-05-05
  • 如何改變idea和maven中的sdk版本

    如何改變idea和maven中的sdk版本

    這篇文章主要介紹了如何改變idea和maven中的sdk版本,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Java String index out of range:100錯誤解決方案詳解

    Java String index out of range:100錯誤解決方案詳解

    這篇文章主要介紹了Java String index out of range:100錯誤解決方案詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 詳解SpringBoot 添加對JSP的支持(附常見坑點(diǎn))

    詳解SpringBoot 添加對JSP的支持(附常見坑點(diǎn))

    這篇文章主要介紹了詳解SpringBoot 添加對JSP的支持(附常見坑點(diǎn)),非常具有實用價值,需要的朋友可以參考下
    2017-10-10

最新評論

驻马店市| 瑞安市| 高阳县| 昌图县| 新邵县| 武山县| 娄底市| 正定县| 陵川县| 板桥市| 正安县| 高要市| 潼南县| 来安县| 新疆| 当阳市| 太白县| 武鸣县| 赣州市| 庆元县| 临潭县| 东平县| 永安市| 盐津县| 上饶县| 建水县| 宝应县| 新营市| 新建县| 油尖旺区| 浦北县| 万年县| 岗巴县| 鄂托克旗| 济宁市| 正安县| 阳原县| 双城市| 济宁市| 金川县| 通海县|