JDK1.8中LocalDate、LocalDateTime與Date之間的轉換

ZoneId zoneId = ZoneId.systemDefault();

LocalDate localDate = LocalDate.now();
System.out.println(localDate);  // 輸出2019-12-10
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(dateTime);  // 輸出2019-12-10T17:57:51.009

DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy/MM/dd");
localDate = LocalDate.parse("2018/10/18", dateTimeFormatter1);  // String轉換爲LocalDate
System.out.println(localDate);  // 輸出2018-10-18
System.out.println(localDate.format(dateTimeFormatter1));  // LocalDate轉換爲String,輸出2018/10/18

ZonedDateTime zonedDate = localDate.atStartOfDay(zoneId);
Date date1 = Date.from(zonedDate.toInstant());
System.out.println(date1);  // LocalDate轉換爲Date,輸出Thu Oct 18 00:00:00 CST 2018

DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
dateTime = LocalDateTime.parse("2018-10-18 16:00:00", dateTimeFormatter2);  // String轉換爲LocalDateTime
System.out.println(dateTime);  // 輸出2018-10-18T16:00
System.out.println(dateTime.format(dateTimeFormatter2));  // LocalDateTime轉換爲String,輸出2018-10-18 16:00:00

ZonedDateTime zonedDateTime = dateTime.atZone(zoneId);
Date date2 = Date.from(zonedDateTime.toInstant());
System.out.println(date2);  // LocalDateTime轉換爲Date,輸出Thu Oct 18 16:00:00 CST 2018

  





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章