java中得LocalDate和LocalTime以及LocalDateTime
提示:這里可以添加系
提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助檔案
文章目錄
- java中得LocalDate和LocalTime以及LocalDateTime
- 前言
- 一、LocalDate、LocalTime、LocalDateTime
- 二、具體使用
- 1. 實體的創建
- 2. 一些常用的方法
- 總結
前言
最近用到時間類,有點忘記發現現在有一個新的時間類
概要:LocalDate和LocalTime中的大部分方法都是類似的,而LocalDateTime則是前兩者之和,同時也提供新版的時間型別格式轉換,
一、LocalDate、LocalTime、LocalDateTime
LocalDate:封裝的是當前日期,例如2020-10-9日之類的,
LocalTime:封裝的則是當前的時、分、秒和納秒等其他的時間資料
LocalDateTime:可以猜到就是,日期和時分秒之類都封裝了
DateTimeFormatter:這個是格式型別轉換的,一般用String中的format也可以實作
二、具體使用
1. 實體的創建
使用now()方法:回傳當前時間
LocalDate localdate=LocalDate.now();//2020-10-09,回傳默認的
LocalDateTime localDateTime=LocalDateTime.now();//2020-10-09T17:34:15.663
LocalTime localTime=LocalTime.now();//2020-10-09
指定時間,進行創建【這里只舉例一種方法,還可以添加其他額外的引數】
- 使用parse(時間)進行轉換,格式固定,注意LocalDateTime 引數中間連接的一個T,toString方法中有一個T分割開了
LocalDate l=LocalDate.parse("2020-12-01");//String型別轉換為localDate型別,中間只能是-
LocalTime l2=LocalTime.parse("10:06");//將String型別轉換為LocalTime實體,注意中間只能是是:
LocalDateTime localDateTime1=LocalDateTime.parse("2007-12-03T10:15:30");//將String型別轉換為LocalDateTime型別,注意中間的T
2.1. 使用of(時間)進行創建
LocalDate l1=LocalDate.of(2019, 12, 12);//設定相應引數創建localDate實體,月份不用+1(不像)
LocalTime l1=LocalTime.of(18, 12);//設定引數,時和分,回傳一個LocalTime實體
LocalDateTime localDateTime2=LocalDateTime.of(2020, 12, 12, 10, 11);//設定相應引數,創建LocalDateTime實體
2.2. 使用ofYearDay()進行創建
LocalDate l1_1=LocalDate.ofYearDay(2019, 123);//通過指定年份和天數,回傳localData實體,結果2019-05-03
2. 一些常用的方法
相比之前的Date和Calendar,時間的運算靈活多樣1.時間的加【plus】減min
時間的加【plus】
LocalDate l3=l2.plusDays(22);//增加22天,超過一個月的時間自動增加一個月份,年份【plusMonths、plusWeeks、plusYears】
LocalTime l4=l3.plusHours(2);//添加兩個小時
時間的減【minus】
LocalDate l4=l3.minusDays(3);//減少3天,月份不足自動減少【minusMonths、minusWeeks、minusYears】
LocalTime l5=l3.minusHours(8);//減少8個小時,l3=19:20:13,結果l5=19:20:13
2. 時間的修改【with】
LocalDate l2=l1.withYear(123);//修改年份,同時回傳一個新的localDate型別,修改的年份變成0123
LocalTime l6=l4.withHour(10);//修改小時為10小時
3.時間的格式化
String s1=l.format(DateTimeFormatter.BASIC_ISO_DATE);//the formatted date string, not null 結果'20201201',中間的引數還可以修改為別的型別
String s2=l.format(DateTimeFormatter.ISO_LOCAL_DATE);//2020-12-01
自定義格式
DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("y年M月d日");//中間的y表示年份,M表示月份,d表示天
String s3=l.format(dateTimeFormatter);//轉換為String型別

總結
大部分方法都是互通的,這些只是簡單初步了解一些基礎用法,涉及到執行緒安全問題以及其他上的問題,以后再深入探討
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/169480.html
標籤:其他
上一篇:Go 語言編程 — gormigrate GORM 的資料庫遷移助手
下一篇:利用UDP埠轉發繞過校園網認證
