java date转 localdate


java date转localdate

Java 8提供了java.time包,可以很方便地将java.util.Date对象转换成java.time.LocalDate对象。以下是几种不同的实现方法:

  1.使用InstantZoneId

Date date = new Date();
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDate localDate = instant.atZone(zone).toLocalDate();

  

  2.使用SimpleDateFormat

Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(date);
LocalDate localDate = LocalDate.parse(formattedDate);

  

  3.使用Calendar

Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
LocalDate localDate = LocalDate.of(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH));

  

  4.LocalDate 转Date

 LocalDate date = LocalDate.of(2006,07,26);
 ZoneId zone = ZoneId.systemDefault();
 Instant instant = date.atStartOfDay().atZone(zone).toInstant();
 java.util.Date da = Date.from(instant);

请注意,在这些方法中,需要确保java.util.Date对象所代表的日期在java.time.LocalDate存在的有效日期范围内。

 

 

 

 

posted @ 2023-12-19 10:42  wq9  阅读(6058)  评论(0)    收藏  举报