package com.ytpm.util; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Calendar; import java.util.Date; public class DateUtil { /** * 获取日期数字 */ public static int getDateNum(LocalDate currentDate) { // 定义日期格式化器,格式为YYYYMMDD DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); // 将当前日期格式化为字符串 String formattedDate = currentDate.format(formatter); // 将字符串转换为整数 return Integer.parseInt(formattedDate); } private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 获取今日开始时间(00:00:00) public static Date getTodayStart() { LocalDateTime todayStart = LocalDate.now().atStartOfDay(); return localDateTimeToDate(todayStart); } // 获取今日结束时间(23:59:59) public static Date getTodayEnd() { LocalDateTime todayEnd = LocalDate.now().atTime(23, 59, 59); return localDateTimeToDate(todayEnd); } // 获取昨日开始时间 public static Date getYesterdayStart() { LocalDateTime yesterdayStart = LocalDate.now().minusDays(1).atStartOfDay(); return localDateTimeToDate(yesterdayStart); } // 获取昨日结束时间 public static Date getYesterdayEnd() { LocalDateTime yesterdayEnd = LocalDate.now().minusDays(1).atTime(23, 59, 59); return localDateTimeToDate(yesterdayEnd); } // 获取本月开始时间 public static Date getMonthStart() { LocalDateTime monthStart = LocalDate.now().withDayOfMonth(1).atStartOfDay(); return localDateTimeToDate(monthStart); } // 获取本月结束时间 public static Date getMonthEnd() { LocalDateTime monthEnd = LocalDate.now().withDayOfMonth( LocalDate.now().lengthOfMonth() ).atTime(23, 59, 59); return localDateTimeToDate(monthEnd); } // 获取本周周一 public static Date getWeekStart() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); return calendar.getTime(); } //获取本周周日 public static Date getWeekEnd() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); return calendar.getTime(); } private static Date localDateTimeToDate(LocalDateTime localDateTime) { return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); } }