获取指定日期所在季度的开始结束时间
- 工作小总结&小工具类
- 时间:2024-09-25 17:16
- 1020人已阅读
简介
获取指定日期所在季度的开始结束时间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+若依 开发租房小程序