From 60ef8b4a95540dfab9df0447364ee40c18354010 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 04 七月 2023 08:48:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 47 insertions(+), 3 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java b/cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java index b77d912..03bb3d3 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java +++ b/cloud-server-account/src/main/java/com/dsh/account/util/DateTimeHelper.java @@ -2,9 +2,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; -import java.time.Instant; -import java.time.LocalDateTime; -import java.time.ZoneId; +import java.time.*; import java.util.*; @@ -1350,6 +1348,52 @@ } /** + * 获取指定月份开始时0点0分0秒 + * @param input 输入的时间,"yyyy-MM" + * @return + */ + public static Date getCurrentIdetMouthStart(String input) { + // 解析年月字符串 + YearMonth yearMonth = YearMonth.parse(input); + // 获取月份的开始时间(月初0点) + LocalDate startOfMonth = yearMonth.atDay(1); + LocalDateTime startDateTime = startOfMonth.atTime(LocalTime.MIN); + return Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant()); + } + + /** + * 获取当月结束时23点59分59秒 + * + * @return + */ + public static Date getCurrentMouthEnd() { + Date d = getSystemDate(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(d); + int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); + calendar.set(Calendar.DAY_OF_MONTH, lastDay); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + + + /** + * 获取指定月份结束时23点59分59秒 + * @param input 输入的时间,"yyyy-MM" + * @return + */ + public static Date getCurrentIdeaMouthEnd(String input) { + // 解析年月字符串 + YearMonth yearMonth = YearMonth.parse(input); + // 获取月份的结束时间(月末23:59:59秒) + LocalDate endOfMonth = yearMonth.atEndOfMonth(); + LocalDateTime endDateTime = endOfMonth.atTime(23, 59, 59); + return Date.from(endDateTime.atZone(ZoneId.systemDefault()).toInstant()); + } + + /** * 返回下月的这天 * * @param date -- Gitblit v1.7.1