提示:這裡可以新增系
提示:文章寫完後,目錄可以自動生成,如何生成可參考右邊的幫助檔案
最近用到時間類,有點忘記發現現在有一個新的時間類
概要:LocalDate和LocalTime中的大部分方法都是類似的,而LocalDateTime則是前兩者之和,同時也提供新版的時間型別格式轉換。
LocalDate:封裝的是當前日期,例如2020-10-9日之類的,
LocalTime:封裝的則是當前的時、分、秒和納秒等其他的時間資料
LocalDateTime:可以猜到就是,日期和時分秒之類都封裝了
DateTimeFormatter:這個是格式型別轉換的,一般用String中的format也可以實現
使用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
指定時間,進行建立【這裡只舉例一種方法,還可以新增其他額外的引數】
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
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型別
大部分方法都是互通的,這些只是簡單初步瞭解一些基礎用法。涉及到執行緒安全問題以及其他上的問題,以後再深入探討