1. 程式人生 > 其它 >關於Java8日期類在開發中的總結

關於Java8日期類在開發中的總結

日期類分為LocalDate、LocalTime和LocalDateTime。其中LocalDateTime是一個複合類,是LocalDate和LocalTime的組成。

初始化日期類

  1. 獲取當前時間
LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.now();
LocalDateTime localDateTime = LocalDateTime.now()
  1. 根據時間字串
LocalDate localDate = LocalDate.parse("2021-09-06");
LocalTime localTime = LocalTime.parse("09:51:51");
LocalDateTime localDateTime = LocalDateTime.parse("2021-09-06T09:51:51");
  • 如果數字不是十位數,則前面要補0,比如 2021-9-6 和 9:51:51 都會報錯。
  • LocalDateTime如果根據字串初始化,必須使用ISO-8601模式,比如 年月日T時分秒
  1. 根據日期解析類和時間字串
 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
 LocalDate localDate = LocalDate.parse("2021/09/06", dateTimeFormatter);

 DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("HH:mm:ss");
 LocalTime localTime = LocalTime.parse("10:52:22", dateTimeFormatter1);

 DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
 LocalDateTime localDateTime = LocalDateTime.parse("2021/09/06 10:52:22", dateTimeFormatter2);
  1. 使用Date物件進行轉換
    在資料實體中,一般使用Date物件對映資料庫的時間欄位,在業務中需要將Date物件轉換為LocalTimeDate物件。
Date date = new Date();
Instant instant = date.toInstant();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
  • LocalDateTime.ofInstant需要兩個引數,Instant類(Unix元年時間開始所經歷的秒數)和時區