import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
* LocalDate&LocalDateTime工具类
*
* @email zhang_zr1997@163.com
* @date 2022-2-28 10:28:36
*/
public class LocalDateUtils {
private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
private static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
/**
* Date转换为LocalDateTime
*/
public static LocalDateTime date2LocalDateTime(Date date) {
return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
}
/**
* LocalDateTime转换为Date
*/
public static Date localDateTime2Date(LocalDateTime time) {
return Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
}
/**
* Date转LocalDate
*/
public static LocalDate date2LocalDate(Date date) {
Instant instant = date.toInstant();//An instantaneous point on the time-line.(时间线上的一个瞬时点。)
ZoneId zoneId = ZoneId.systemDefault();//A time-zone ID, such as {@code Europe/Paris}.(时区)
LocalDate localDate = instant.atZone(zoneId).toLocalDate();
return localDate;
}
/**
* LocalDate转Date
*/
public static Date localDate2Date(LocalDate localDate) {
return Date.from(localDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());
}
/**
* 字符串转LocalDateTime
* yyyy-MM-dd HH:mm:ss
*/
public static LocalDateTime str2LocalDateTime(String str) {
return LocalDateTime.parse(str, dateTimeFormatter);
}
/**
* 字符串转LocalDate
* yyyy-MM-dd
*/
public static LocalDate str2LocalDate(String str) {
return LocalDate.parse(str, dateFormatter);
}
/**
* LocalDateTime转字符串
* yyyy-MM-dd HH:mm:ss
*/
public static String toString(LocalDateTime localDateTime) {
return localDateTime.format(dateTimeFormatter);
}
/**
* LocalDate转字符串
* yyyy-MM-dd
*/
public static String toString(LocalDate localDate) {
return localDate.format(dateFormatter);
}
}
LocalDate&LocalDateTime工具类
最新推荐文章于 2024-03-08 14:48:40 发布