实现代码:
/** * 获取指定日期的月初和月末日子 * * @param day 日期20200202 */ public static Date[] getMonthStartEnd(Date day) { LocalDateTime now = day.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); LocalDateTime first = LocalDateTime.of(now.getYear(), now.getMonth(), 1, 0, 0, 0, 0); LocalDateTime last = LocalDateTime.of(first.with(TemporalAdjusters.lastDayOfMonth()).getYear(), first.with(TemporalAdjusters.lastDayOfMonth()).getMonth(), first.with(TemporalAdjusters.lastDayOfMonth()).getDayOfMonth(), 23, 59, 59); return new Date[]{Date.from(first.atZone(ZoneId.systemDefault()).toInstant()), Date.from(last.atZone(ZoneId.systemDefault()).toInstant())}; } |