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

Java8 日期和時間類的基本使用

 更新時間:2020年08月25日 11:26:12   作者:龍海成  
這篇文章主要介紹了Java 日期和時間類的基本使用,幫助大家更好的理解和學(xué)習Java,感興趣的朋友可以了解下

前言

最近在重構(gòu)之前的一個老項目,其中包含一個統(tǒng)計模塊,需要把存儲在MongoDB的數(shù)據(jù)通過接口顯示在后端管理系統(tǒng)中。這些數(shù)據(jù)大多是以時間為單位進行存儲,例如:collectionName_202009collectionName_20200910,在老系統(tǒng)中對時間的處理使用Date類,簡單了解了其中的時間工具類,深感繁瑣并決定使用Java8中的LocalDateTime和LocalDate重構(gòu)此代碼。

基本使用

1.獲取當前時間

// 2020-08-23T20:14:56.977
 LocalDateTime localDateTime = LocalDateTime.now();
 //2020-08-23
 LocalDate localDate = LocalDate.now();

2.格式化時間

LocalDateTime localDateTime = LocalDateTime.now();
 DateTimeFormatter localDateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss", Locale.SIMPLIFIED_CHINESE);
 // 2020-08-23 20:20:29
 String timeStr = localDateTime.format(localDateTimeFormatter);

 LocalDate localDate = LocalDate.now();
 DateTimeFormatter localDateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
 // 2020-08-23
 String dateStr = localDate.format(localDateFormatter);

3.獲取昨天、明天或者固定天數(shù)的時間

LocalDateTime localDateTime = LocalDateTime.now();
 DateTimeFormatter localDateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss", Locale.SIMPLIFIED_CHINESE);
 // 今天
 String time = localDateTime.format(localDateTimeFormatter);
 // 昨天
 LocalDateTime yesterday = localDateTime.minusDays(1L);
 String yesterdayStr = yesterday.format(localDateTimeFormatter);
 // 后天
 LocalDateTime tomorrow = localDateTime.plusDays(1L);
 String tomorrowStr = tomorrow.format(localDateTimeFormatter);
 // 天數(shù)加5
 LocalDateTime timePlus = localDateTime.plusDays(5L);
 String timePlusStr = timePlus.format(localDateTimeFormatter);
 // 天數(shù)減5
 LocalDateTime timeMinus = localDateTime.minusDays(5L);
 String timeMinusStr = timeMinus.format(localDateTimeFormatter);

在LocalDateTime的API中包含了對各個時間單位的增加和減少,如:

4.獲取今天的開始時間和結(jié)束時間,精確到秒

DateTimeFormatter localDateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss", Locale.SIMPLIFIED_CHINESE);
 // 2020-08-23 00:00:00
 String start = LocalDateTime.of(LocalDate.now(), LocalTime.MIN).format(localDateTimeFormatter);
 // 2020-08-23 23:59:59
 String end = LocalDateTime.of(LocalDate.now(), LocalTime.MAX).format(localDateTimeFormatter);
 // 這里的LocalDate.now()表示獲取今天的開始時間和結(jié)束時間,也可以換做任何一天

5.獲取當月的第一天和最后一天

// 這里使用LocalDate來獲取日期
 DateTimeFormatter localDateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.SIMPLIFIED_CHINESE);
 LocalDate localDate = LocalDate.now();
 LocalDate firstDay = localDate.with(TemporalAdjusters.firstDayOfMonth());
 LocalDate lastDay = localDate.with(TemporalAdjusters.lastDayOfMonth());

6.將時間字符串轉(zhuǎn)為時間或日期

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss", Locale.SIMPLIFIED_CHINESE);
 String str = "2018-08-09 20:10:10";
 LocalDateTime localDateTime = LocalDateTime.parse(str, formatter);
 LocalDate localDate = LocalDate.parse(str, formatter);

7.計算日期間隔

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.SIMPLIFIED_CHINESE);
 String str = "2020-09-02";
 LocalDate localDate = LocalDate.parse(str, formatter);
 long until = LocalDate.now().until(localDate, ChronoUnit.DAYS);

以上就是Java8 日期和時間類的基本使用的詳細內(nèi)容,更多關(guān)于Java 日期和時間類的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • logback的使用和logback.xml詳解(小結(jié))

    logback的使用和logback.xml詳解(小結(jié))

    Logback是由log4j創(chuàng)始人設(shè)計的另一個開源日志組件,這篇文章主要介紹了logback的使用和logback.xml詳解(小結(jié)),非常具有實用價值,需要的朋友可以參考下
    2018-11-11
  • Java將本地項目部署到Linux服務(wù)器的實踐

    Java將本地項目部署到Linux服務(wù)器的實踐

    本文主要介紹了Java將本地項目部署到Linux服務(wù)器的實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧<BR>
    2022-06-06
  • 基于Spring定時任務(wù)的fixedRate和fixedDelay的區(qū)別

    基于Spring定時任務(wù)的fixedRate和fixedDelay的區(qū)別

    這篇文章主要介紹了基于Spring定時任務(wù)的fixedRate和fixedDelay的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 基于java解析JSON的三種方式詳解

    基于java解析JSON的三種方式詳解

    這篇文章主要介紹了基于java解析JSON的三種方式,結(jié)合實例形式詳細分析了json解析的原理與GSON、FastJSON等常用解析操作技巧,需要的朋友可以參考下
    2016-12-12
  • java DOM4J 讀取XML實例代碼

    java DOM4J 讀取XML實例代碼

    最近學(xué)習Java,在處理XML文檔的時候,查閱相關(guān)資料,發(fā)現(xiàn)了DOM4J這個jre庫,相對C#的XML處理來說,功能還算是跟得
    2013-09-09
  • 講解ssm框架整合(最通俗易懂)

    講解ssm框架整合(最通俗易懂)

    這篇文章主要介紹了講解ssm框架整合(最通俗易懂),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-09-09
  • Java壓縮文件ZIP實例代碼

    Java壓縮文件ZIP實例代碼

    這篇文章主要介紹了Java壓縮文件ZIP實例代碼,有需要的朋友可以參考一下
    2013-12-12
  • Gateway實現(xiàn)限流的一些常見方式

    Gateway實現(xiàn)限流的一些常見方式

    文章介紹了如何在SpringCloudGateway中實現(xiàn)限流,包括基于請求次數(shù)、令牌桶算法、IP地址和時間窗口等多種限流策略,通過配置RequestRateLimiter過濾器和KeyResolver,可以靈活地控制不同來源的請求頻率,確保系統(tǒng)穩(wěn)定性和可用性,感興趣的朋友一起看看吧
    2025-02-02
  • springBoot整合redis做緩存具體操作步驟

    springBoot整合redis做緩存具體操作步驟

    緩存主要是將數(shù)據(jù)存在計算機的內(nèi)存當中,以便于在使用的時候是可以實現(xiàn)快速讀取使用,它的快也是相對于硬盤讀取而言,這篇文章主要給大家介紹了關(guān)于springBoot整合redis做緩存的具體操作步驟,需要的朋友可以參考下
    2024-04-04
  • SpringBoot3中數(shù)據(jù)庫集成實踐詳解

    SpringBoot3中數(shù)據(jù)庫集成實踐詳解

    項目工程中,集成數(shù)據(jù)庫實現(xiàn)對數(shù)據(jù)的增曬改查管理,是最基礎(chǔ)的能力,所以下面小編就來和大家講講SpringBoot3如何實現(xiàn)數(shù)據(jù)庫集成,需要的可以參考下
    2023-08-08

最新評論

阳江市| 五河县| 遂平县| 靖州| 四平市| 宁晋县| 曲周县| 宁城县| 林周县| 铁岭县| 盐源县| 克山县| 武定县| 郴州市| 克拉玛依市| 兴文县| 晋中市| 铜陵市| 鹰潭市| 郯城县| 汉源县| 丘北县| 新竹县| 扎赉特旗| 会同县| 海晏县| 屯门区| 龙门县| 剑川县| 将乐县| 广东省| 南乐县| 贵溪市| 巴塘县| 温宿县| 达州市| 望奎县| 三都| 镇原县| 新源县| 永寿县|