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

Java 8中日期和時(shí)間的處理方法

 更新時(shí)間:2016年08月09日 14:54:57   作者:小豬夫  
Java 8新增了LocalDate和LocalTime接口,接下來通過本文給大家介紹Java 8中日期和時(shí)間的處理方法,非常不錯,感興趣的朋友一起看下吧

Java 8新增了LocalDate和LocalTime接口,為什么要搞一套全新的處理日期和時(shí)間的API?因?yàn)榕f的java.util.Date實(shí)在是太難用了。

java.util.Date月份從0開始,一月是0,十二月是11,變態(tài)吧!java.time.LocalDate月份和星期都改成了enum,就不可能再用錯了。

java.util.Date和SimpleDateFormatter都不是線程安全的,而LocalDate和LocalTime和最基本的String一樣,是不變類型,不但線程安全,而且不能修改。

java.util.Date是一個“萬能接口”,它包含日期、時(shí)間,還有毫秒數(shù),如果你只想用java.util.Date存儲日期,或者只存儲時(shí)間,那么,只有你知道哪些部分的數(shù)據(jù)是有用的,哪些部分的數(shù)據(jù)是不能用的。在新的Java 8中,日期和時(shí)間被明確劃分為LocalDate和LocalTime,LocalDate無法包含時(shí)間,LocalTime無法包含日期。當(dāng)然,LocalDateTime才能同時(shí)包含日期和時(shí)間。

新接口更好用的原因是考慮到了日期時(shí)間的操作,經(jīng)常發(fā)生往前推或往后推幾天的情況。用java.util.Date配合Calendar要寫好多代碼,而且一般的開發(fā)人員還不一定能寫對。

LocalDate

看看新的LocalDate怎么用:

// 取當(dāng)前日期:
LocalDate today = LocalDate.now(); // -> 2014-12-24
// 根據(jù)年月日取日期,12月就是12:
LocalDate crischristmas = LocalDate.of(2014, 12, 25); // -> 2014-12-25
// 根據(jù)字符串取:
LocalDate endOfFeb = LocalDate.parse("2014-02-28"); // 嚴(yán)格按照ISO yyyy-MM-dd驗(yàn)證,02寫成2都不行,當(dāng)然也有一個重載方法允許自己定義格式

LocalDate.parse("2014-02-29"); // 無效日期無法通過:DateTimeParseException: Invalid date

日期轉(zhuǎn)換經(jīng)常遇到,比如:

// 取本月第1天:
LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth()); // 2014-12-01
// 取本月第2天:
LocalDate secondDayOfThisMonth = today.withDayOfMonth(2); // 2014-12-02
// 取本月最后一天,再也不用計(jì)算是28,29,30還是31:
LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth()); // 2014-12-31
// 取下一天:
LocalDate firstDayOf2015 = lastDayOfThisMonth.plusDays(1); // 變成了2015-01-01
// 取2015年1月第一個周一,這個計(jì)算用Calendar要死掉很多腦細(xì)胞:
LocalDate firstMondayOf2015 = LocalDate.parse("2015-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)); // 2015-01-05

LocalTime

LocalTime只包含時(shí)間,以前用java.util.Date怎么才能只表示時(shí)間呢?答案是,假裝忽略日期。

LocalTime包含毫秒:

LocalTime now = LocalTime.now(); // 11:09:09.240

你可能想清除毫秒數(shù):

LocalTime now = LocalTime.now().withNano(0)); // 11:09:09

構(gòu)造時(shí)間也很簡單:

LocalTime zero = LocalTime.of(0, 0, 0); // 00:00:00
LocalTime mid = LocalTime.parse("12:00:00"); // 12:00:00

時(shí)間也是按照ISO格式識別,但可以識別以下3種格式:

•12:00
•12:01:02
•12:01:02.345

JDBC

最新JDBC映射將把數(shù)據(jù)庫的日期類型和Java 8的新類型關(guān)聯(lián)起來:

SQL -> Java
--------------------------

date -> LocalDate
time -> LocalTime
timestamp -> LocalDateTime

再也不會出現(xiàn)映射到j(luò)ava.util.Date其中日期或時(shí)間某些部分為0的情況了。

以上所述是小編給大家介紹的Java 8中日期和時(shí)間的處理方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java定時(shí)任務(wù)的三種實(shí)現(xiàn)方法

    Java定時(shí)任務(wù)的三種實(shí)現(xiàn)方法

    在應(yīng)用里經(jīng)常都有用到在后臺跑定時(shí)任務(wù)的需求。舉個例子,比如需要在服務(wù)后臺跑一個定時(shí)任務(wù)來進(jìn)行垃圾回收
    2014-04-04
  • Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例

    Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例

    這篇文章主要介紹了Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例,本文講解了使用BLOB類型保存和讀取圖片的代碼實(shí)例,需要的朋友可以參考下
    2015-06-06
  • Java微信公眾平臺開發(fā)(10) 微信自定義菜單的創(chuàng)建實(shí)現(xiàn)

    Java微信公眾平臺開發(fā)(10) 微信自定義菜單的創(chuàng)建實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Java微信公眾平臺開發(fā)第十步,微信自定義菜單的創(chuàng)建實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 詳解SpringBoot定時(shí)任務(wù)功能

    詳解SpringBoot定時(shí)任務(wù)功能

    這篇文章主要介紹了SpringBoot定時(shí)任務(wù)功能詳細(xì)解析,這次的功能開發(fā)過程中也算是對其內(nèi)涵的進(jìn)一步了解,以后遇到定時(shí)任務(wù)的處理也更清晰,更有效率了,對SpringBoot定時(shí)任務(wù)相關(guān)知識感興趣的朋友一起看看吧
    2022-05-05
  • Spring容器中已經(jīng)存在的Bean替換示例

    Spring容器中已經(jīng)存在的Bean替換示例

    這篇文章主要為大家介紹了Spring容器中已經(jīng)存在的Bean替換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • MybatisPlus分頁排序查詢字段帶有下劃線的坑及解決

    MybatisPlus分頁排序查詢字段帶有下劃線的坑及解決

    這篇文章主要介紹了MybatisPlus分頁排序查詢字段帶有下劃線的坑及解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java?@SpringBootApplication注解深入解析

    Java?@SpringBootApplication注解深入解析

    這篇文章主要給大家介紹了關(guān)于Java?@SpringBootApplication注解的相關(guān)資料,@SpringBootApplication這個注解是Spring?Boot項(xiàng)目的基石,創(chuàng)建SpringBoot項(xiàng)目之后會默認(rèn)在主類加上,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • Java連接MongoDB進(jìn)行增刪改查的操作

    Java連接MongoDB進(jìn)行增刪改查的操作

    這篇文章主要介紹了Java連接MongoDB進(jìn)行增刪改查的操作的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • SpringBoot實(shí)現(xiàn)mysql與clickhouse多數(shù)據(jù)源的項(xiàng)目實(shí)踐

    SpringBoot實(shí)現(xiàn)mysql與clickhouse多數(shù)據(jù)源的項(xiàng)目實(shí)踐

    本文主要介紹了SpringBoot實(shí)現(xiàn)mysql與clickhouse多數(shù)據(jù)源的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • 6種SpringBoot中自定義starter的方式介紹

    6種SpringBoot中自定義starter的方式介紹

    在SpringBoot生態(tài)中,starter是一種特殊的依賴,它能夠自動裝配相關(guān)組件,簡化項(xiàng)目配置,本文將詳細(xì)介紹6種不同的自定義starter開發(fā)方法,有需要的可以了解下
    2025-04-04

最新評論

万安县| 朝阳县| 临沂市| 德州市| 华蓥市| 林西县| 南部县| 嘉禾县| 汉寿县| 盖州市| 和硕县| 台中市| 阜宁县| 赤壁市| 邓州市| 津市市| 汝南县| 灵丘县| 奉贤区| 赤壁市| 柘荣县| 扶风县| 淮安市| 手机| 崇左市| 临安市| 大田县| 鹤山市| 噶尔县| 荆门市| 资源县| 富裕县| 潍坊市| 察哈| 陇西县| 武山县| 永福县| 盱眙县| 遂昌县| 新泰市| 策勒县|