Java1.8新特性(Time類)
阿新 • • 發佈:2018-12-05
1:LocalDate(日期類):
public class TimeDemo { public static void main(String[] args) { // 01:獲取當前時間 LocalDate now = LocalDate.now(); System.out.println("當前時間:" + now); // 02:自定義當前時間 LocalDate data = LocalDate.of(1997, 02, 21); System.out.println("自定義當前時間:" + data); // 03:修改時間的格式 String dataWithString = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); System.out.println("當前時間的String格式:" + dataWithString); // 04:解析當前時間 LocalDate parseTime = LocalDate.parse("1997-02-21"); System.out.println("解析當前的時間" + parseTime); // 05:獲取今天是本月的第幾天 int dayOfMonth = LocalDate.now().getDayOfMonth(); System.out.println("dateOfMonth:" + dayOfMonth); // 06:獲取今天是今年的第多少天 int dateOfYear = LocalDate.now().getDayOfYear(); System.out.println("dateOfYear:" + dateOfYear); // 07:獲取年 int year = LocalDate.now().getYear(); System.out.println("year:" + year); // 08:獲取星期 DayOfWeek week = LocalDate.now().getDayOfWeek(); System.out.println(week.getValue()); // 09:獲取當前時間並給它加一定的天數 LocalDate localDate = LocalDate.now().plusDays(5); System.out.println("新增一定天數後的時間:" + localDate); // 10:獲取當前時間並給它減一定的天數 LocalDate minusDate = LocalDate.now().minusDays(9); System.out.println("減去一定天數後的時間:" + minusDate); // 11:計算兩個日期間的天數 long dates = localDate.until(minusDate, ChronoUnit.DAYS); System.out.println("相差的天數:" + dates); // 12:計算兩個日期間的天數的週數 long until = localDate.until(minusDate, ChronoUnit.WEEKS); System.out.println("相差的週數:" + until); } }
執行結果:
可以看到LocalDate的until方法獲取的還能是負數,所以在獲取相差的天數時需要注意。
LocalTime類(時間類)
// 01:獲取帶毫秒值的當前時間 LocalTime now = LocalTime.now(); System.out.println("當前時間:" + now); // 02:獲取不帶毫秒值的當前時間 LocalTime nowWithNoNano = LocalTime.now().withNano(0); System.out.println("不帶毫秒值的當前時間:" + nowWithNoNano); // 03:獲取不帶毫秒值不帶分鐘的時間 LocalTime nowWithNoSeconde = LocalTime.now().withNano(0).withSecond(0); System.out.println("不帶毫秒不帶分鐘的時間:" + nowWithNoSeconde); // 04:獲取不帶毫秒值不帶分鐘的時間還可以這樣做(格式化處理) String nowTime = LocalTime.now().format(DateTimeFormatter.ofPattern("hh:mm")); System.out.println("nowTime:" + nowTime); // 05:獲取制定的時間 LocalTime localTime = LocalTime.parse("06:00"); System.out.println("指定時間:" + localTime); // 06:獲取指定時間還可以這樣做 LocalTime localTime1 = LocalTime.of(6,00); System.out.println("localTime1:" + localTime1);
執行結果:
還有很多api,用到的時候去查就可以。基本用法對著ide的api能寫出來知道啥意思就行了。
LocalDateTime類(時間日期類)
// 01:獲取當前時間 LocalDateTime now = LocalDateTime.now(); System.out.println("now: " + now); // 02:格式化一下當前時間 String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss E")); System.out.println("格式化處理後的時間: " + time); // 03:使用with開頭的方法可以設定對應的年月日等 LocalDateTime localDateTime = LocalDateTime.now().withYear(1997); System.out.println("localDateTime: " + localDateTime); // 04:使用get開頭的方法可以獲取對應的年月日等 int dayOfMonth = LocalDateTime.now().getDayOfMonth(); System.out.println("dayOfMonth: " + dayOfMonth);
運些結果:
TemporalAdjusters類:
是一個用來計算的類,提供了各種各樣的計算方法。比如獲取某個月的第一天,某個月的最後一天,某一年的第一天,某一年的第幾天等各種計算方法;
執行結果