java date转 localdate
java date转localdate
Java 8提供了java.time
包,可以很方便地将java.util.Date
对象转换成java.time.LocalDate
对象。以下是几种不同的实现方法:
1.使用Instant
和ZoneId
:
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
存在的有效日期范围内。
个人学习笔记,记录日常学习,便于查阅及加深,仅为方便个人使用。