package com.redxun.knowledge.utils; import org.apache.commons.lang.time.DateFormatUtils; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; import java.util.Calendar; import java.util.Date; /** * 文件名: DateUtils * 作者: zizg * 时间: 2023/3/20 * 描述: * 修改人: * 修改时间: * 修改内容: */ public class DateUtils { private static String datePattern = "yyyy-MM-dd"; private DateUtils(){ } /** * 时间转时间字符串 * @param date 日期 * @return String */ public static String format(Date date) { if (date == null) return ""; return DateFormatUtils.format(date,datePattern); } /** * 获取某年第一天日期 * @param year 年份 * @return Date */ public static Date getFirstOfYear(int year){ Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, year); return calendar.getTime(); } /** * 获取某年最后一天日期 * @param year 年份 * @return Date */ public static Date getLastOfYear(int year){ Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(Calendar.YEAR, year); calendar.roll(Calendar.DAY_OF_YEAR, -1); return calendar.getTime(); } /** * 获取指定年月日的第一天 * @param year * @param month * @param day * @return */ public static String getFirstOfMonth(int year,int month,int day){ LocalDate date = LocalDate.of(year, month, day); LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth()); DateTimeFormatter df = DateTimeFormatter.ofPattern(datePattern); String dateStr = firstDay.format(df); return dateStr; } /** * 获取指定年月日的最后一天 * @param year * @param month * @param day * @return */ public static String getLastOfMonth(int year,int month,int day){ LocalDate date = LocalDate.of(year, month, day); LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth()); DateTimeFormatter df = DateTimeFormatter.ofPattern(datePattern); String dateStr = lastDay.format(df); return dateStr; } }