日期格式转换类
package com.tz.java8time;
import java.time.*;
import java.util.Date;
public class ConvertTimeEx {
public static void main(String[] args) {
LocalDate localDate = LocalDate.now();
System.out.println(localDate);
System.out.println(toDate(localDate));
System.out.println("-----------------------------");
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime);
System.out.println(toDate(localDateTime));
System.out.println("-----------------------------");
Date date = new Date();
System.out.println(date);
System.out.println(toLocalDate(date));
System.out.println(toLocalTime(date));
System.out.println(toLocalDateTime(date));
}
/**
* 日期转换示例
*/
/**
* LocalDate -> Date
*/
public static Date toDate(LocalDate localDate) {
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDate.atStartOfDay(zone).toInstant();
return Date.from(instant);
}
/**
* LocalDateTime -> Date
*/
public static Date toDate(LocalDateTime localDateTime) {
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDateTime.atZone(zone).toInstant();
return Date.from(instant);
}
/**
* LocalTime -> Date
*/
public static Date toDate(LocalTime localTime) {
LocalDate localDate = LocalDate.now();
LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDateTime.atZone(zone).toInstant();
return Date.from(instant);
}
/**
* Date -> LocalDate
*/
public static LocalDate toLocalDate(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
return localDateTime.toLocalDate();
}
/**
* Date -> LocalDateTime
*/
public static LocalDateTime toLocalDateTime(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
return LocalDateTime.ofInstant(instant, zone);
}
/**
* Date -> LocalTime
*/
public static LocalTime toLocalTime(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
return localDateTime.toLocalTime();
}
}