如何将Date类型的数据转换为LocalDateTime类型
将 Date 类型转换为 LocalDateTime 类型有几种方法,下面是我推荐的方法。
使用 Java 8 的新时间API:
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;// 方法一:使用atZone()方法,使用建造者模式(推荐)
Date date = new Date();
LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();// 方法二:使用ofInstant()方法
Date date = new Date();
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()
);
可以用AI辅助生成工具类:
Prompt
请为我生成Java工具类,用于将 Date 类型的数据转换为 LocalDateTime 类型的
package com.zzyl.nursing.util;import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;/*** 日期类型转换工具类*/
public class DateConverter {/*** 将java.util.Date转换为LocalDateTime* * @param date Date对象* @return LocalDateTime对象*/public static LocalDateTime convertToLocalDateTime(Date date) {if (date == null) {return null;}return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();}/*** 将java.sql.Date转换为LocalDateTime* * @param date sql.Date对象* @return LocalDateTime对象*/public static LocalDateTime convertToLocalDateTime(java.sql.Date date) {if (date == null) {return null;}return date.toLocalDate().atStartOfDay();}/*** 将LocalDateTime转换为java.util.Date* * @param localDateTime LocalDateTime对象* @return Date对象*/public static Date convertToDate(LocalDateTime localDateTime) {if (localDateTime == null) {return null;}return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());}
}