From 60f59755491dde9a29052d0b0bf3ec7370cc57ec Mon Sep 17 00:00:00 2001 From: p97balmkq <1348817836@qq.com> Date: Fri, 5 Jul 2024 16:07:27 +0800 Subject: [PATCH] ADD file via upload --- Timer.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Timer.java diff --git a/Timer.java b/Timer.java new file mode 100644 index 0000000..043a2f5 --- /dev/null +++ b/Timer.java @@ -0,0 +1,93 @@ +package util; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +/** + * 日期处理类 + */ +public class Timer { + + /** + * 获取某日期的上个月开始日期 + * @param currentDate + * @param format + * @return + */ + public static Date getPrevMonthStartDate(String currentDate , String format){ + SimpleDateFormat sdf = new SimpleDateFormat(format); + Calendar c = Calendar.getInstance(); + try { + c.setTime(sdf.parse(currentDate)); + c.add(Calendar.MONTH, -1); + //设置为1号,当前日期既为本月第一天 + c.set(Calendar.DAY_OF_MONTH, 1); + } catch (ParseException e) { + e.printStackTrace(); + } + return c.getTime(); + } + /** + * 获取某日期的上个月结束日期 + * @param date + * @param format + * @return + */ + public static Date getPrevMonthEndDate(String date , String format){ + SimpleDateFormat sdf = new SimpleDateFormat(format); + Calendar c = Calendar.getInstance(); + try { + c.setTime(sdf.parse(date)); + c.add(Calendar.MONTH , -1); + c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); + c.set(Calendar.HOUR_OF_DAY, 23); + c.set(Calendar.MINUTE, 59); + c.set(Calendar.SECOND, 59); + } catch (ParseException e) { + e.printStackTrace(); + } + return c.getTime(); + } + /** + * 获取某日期的 当前月开始日期 + * @param currentDate + * @param format + * @return + */ + public static Date getMonthStartDate(String currentDate , String format){ + SimpleDateFormat sdf = new SimpleDateFormat(format); + Calendar c = Calendar.getInstance(); + try { + c.setTime(sdf.parse(currentDate)); + c.add(Calendar.MONTH, 0); + //设置为1号,当前日期既为本月第一天 + c.set(Calendar.DAY_OF_MONTH, 1); + } catch (ParseException e) { + e.printStackTrace(); + } + return c.getTime(); + } + + /** + * 获取某日期的 当前月结束日期 + * @param date + * @param format + * @return + */ + public static Date getMonthEndDate(String date , String format) + { + SimpleDateFormat sdf = new SimpleDateFormat(format); + Calendar c = Calendar.getInstance(); + try { + c.setTime(sdf.parse(date)); + c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); + c.set(Calendar.HOUR_OF_DAY, 23); + c.set(Calendar.MINUTE, 59); + c.set(Calendar.SECOND, 59); + } catch (ParseException e) { + e.printStackTrace(); + } + return c.getTime(); + } +}