获取指定日期所在季度的开始结束时间
- 工作小总结&小工具类
- 时间:2024-09-25 17:16
- 385人已阅读
简介
获取指定日期所在季度的开始结束时间import java.text.ParseException;import java.text.SimpleDateFormat;import java.time.LocalDateTime;import java.time.Month;import java.time.format.DateTimeFormat
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
获取指定日期所在季度的开始结束时间
import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.Month; import java.time.format.DateTimeFormatter; import java.util.Date; public class QuarterCalculatorUtils { private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); /** * 获取指定日期所在季度的开始时间 * * @param date 指定日期 * @return 季度开始时间 */ public String getQuarterStart(LocalDateTime date) { Month month = date.getMonth(); int quarterMonthStart = (month.getValue() - 1) / 3 * 3 + 1; // 计算季度首月 LocalDateTime start = LocalDateTime.of(date.getYear(), Month.of(quarterMonthStart), 1, 0, 0); // 设置时间为00:00:00 return start.format(FORMATTER); } /** * 获取指定日期所在季度的结束时间 * * @param date 指定日期 * @return 季度结束时间 */ public String getQuarterEnd(LocalDateTime date) { Month month = date.getMonth(); int quarterMonthEnd = (month.getValue() - 1) / 3 * 3 + 3; // 计算季度末月 LocalDateTime end = LocalDateTime.of(date.getYear(), Month.of(quarterMonthEnd), 1, 0, 0) .plusMonths(1) // 跳到下个月 .minusDays(1) // 减去一天回到当月最后一天 .withHour(23) // 设置小时为23 .withMinute(59) // 设置分钟为59 .withSecond(59); // 设置秒为59 return end.format(FORMATTER); } /** * 获取指定日期所在年度的开始时间 * * @param date 指定日期 * @return 年度开始时间 */ public String getYearStart(LocalDateTime date) { LocalDateTime start = LocalDateTime.of(date.getYear(), 1, 1, 0, 0); // 设置时间为00:00:00 return start.format(FORMATTER); } /** * 获取指定日期所在年度的结束时间 * * @param date 指定日期 * @return 年度结束时间 */ public String getYearEnd(LocalDateTime date) { LocalDateTime end = LocalDateTime.of(date.getYear(), 12, 31, 23, 59, 59); // 设置时间为23:59:59 return end.format(FORMATTER); } /** * 将字符串类型的日期转换为 Date 类型 * * @param dateString 日期字符串 * @param pattern 日期模式 * @return 转换后的 Date 对象 */ public static Date stringToDate(String dateString, String pattern) { SimpleDateFormat sdf = new SimpleDateFormat(pattern); try { return sdf.parse(dateString); } catch (ParseException e) { throw new RuntimeException(e); } } }
下一篇: uniapp+若依 开发租房小程序