经常使用到的一个工具类。将Date类型或LocalDateTime类型转换成yyyy-MM-dd等格式。
import java.text.SimpleDateFormat; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.Date; /** * 日期转换类 */ public class DateConvertUtils { /** * LocalDateTime类型转换成Date类型 * @param dateTime * @return */ public static Date localDateTime2Date(LocalDateTime dateTime){ ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zonedDateTime = dateTime.atZone(zoneId); Instant instant = zonedDateTime.toInstant(); return Date.from(instant); } /** * Date类型转换成LocalDateTime类型 * @param date * @return */ public static LocalDateTime date2LocalDateTime(Date date){ Instant instant = date.toInstant(); ZoneId zoneId = ZoneId.systemDefault(); return LocalDateTime.ofInstant(instant,zoneId); } /** * LocalDateTime类型转换成指定pattern格式 * @param dateTime LocalDateTime类型时间 * @param pattern 指定转换格式 * @return */ public static String localDateTime2StringOfPattern(LocalDateTime dateTime ,String pattern){ DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern); return dtf.format(dateTime); } /** * LocalDateTime类型转换成指定pattern格式 * @param date Date类型时间 * @param pattern 指定转换格式 * @return */ public static String date2StringOfPattern(Date date,String pattern){ SimpleDateFormat sdf = new SimpleDateFormat(pattern); return sdf.format(date); } /** * LocalDateTime类型格式化成XXXX年XX月 * @param date * @return */ public static String localDateTime2StringOfCYM(LocalDateTime date){ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年MM月"); return dtf.format(date); } /** * LocalDateTime类型格式化成XXXX-XX * @param date * @return */ public static String localDateTime2StringOfGYM(LocalDateTime date){ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM"); return dtf.format(date); } /** * LocalDateTime类型格式化成XXXX年XX月XX日 * @param date * @return */ public static String localDateTime2StringOfCYMD(LocalDateTime date){ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年MM月dd日"); return dtf.format(date); } /** * LocalDateTime类型格式化成XXXX-XX-XX * @param date * @return */ public static String localDateTime2StringOfGYMD(LocalDateTime date){ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); return dtf.format(date); } /** * LocalDateTime类型格式化成yyyy-MM-dd hh:mm:ss * @param date * @return */ public static String localDateTime2StringOfGYMDHMS(LocalDateTime date){ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"); return dtf.format(date); } /** * Date类型格式化成yyyy-MM-dd hh:mm:ss * @param date * @return */ public static String date2StringOfGYMDHMS(Date date){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); return sdf.format(date); } /** * Date类型格式化成yyyy-MM-dd * @param date * @return */ public static String date2StringOfGYMD(Date date){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(date); } /** * Date类型格式化成yyyy年MM月 * @param date * @return */ public static String date2StringOfCYM(Date date){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月"); return sdf.format(date); } /** * Date类型格式化成yyyy年MM月dd日 * @param date * @return */ public static String date2StringOfCYMD(Date date){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); return sdf.format(date); } }