Java8 日期时间API,新增了LocalDate、LocalDateTime、LocalTime等线程安全类,接下来要说的是LocalDate与java.util.Date之间的转换。
1、LocalDate不包含时间,描述的是日期,如果对时间不关心,可以使用LocalDate
2、Date转LocalDate
-
public static void main(String[] args) {
-
Date date =
new Date();
-
LocalDate localDate = LocalDate.now();
-
LocalDateTime localDateTime = LocalDateTime.now();
-
System.out.println(
"date2LocalDate:"+date2LocalDate(date));
-
}
-
-
/**
-
* Date转LocalDate
-
* @param date
-
*/
-
public static LocalDate date2LocalDate(Date date) {
-
if(
null == date) {
-
return
null;
-
}
-
return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
-
}
控制台输出:
date2LocalDate:2018-06-28
3、LocalDate转Date
-
public static void main(String[] args) {
-
Date date =
new Date();
-
LocalDate localDate = LocalDate.now();
-
LocalDateTime localDateTime = LocalDateTime.now();
-
System.out.println(
"localDate2Date:"+localDate2Date(localDate));
-
}
-
/**
-
* LocalDate转Date
-
* @param localDate
-
* @return
-
*/
-
public static Date localDate2Date(LocalDate localDate) {
-
if(
null == localDate) {
-
return
null;
-
}
-
ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());
-
return Date.from(zonedDateTime.toInstant());
-
}
控制台输出:
localDate2Date:Thu Jun 28 00:00:00 CST 2018