本月
LocalDate today = LocalDate.now();
//本月的第一天
LocalDate firstday = LocalDate.of(today.getYear(),today.getMonth(),1);
//本月的最后一天
LocalDate lastDay =today.with(TemporalAdjusters.lastDayOfMonth());
System.out.println("本月的第一天" + firstday);
System.out.println("本月的最后一天" + lastDay);
输出:
本月的第一天2020-09-01
本月的最后一天2020-09-30
本周
LocalDate today = LocalDate.now();
System.out.println("本周第一天:"+date2Str(getStartDayOfWeek(today)));
System.out.println("本周最后一天:"+date2Str(getEndDayOfWeek(today)));
public static String date2Str(Date date) {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
}
public static Date getStartDayOfWeek(TemporalAccessor date) {
TemporalField fieldIso = WeekFields.of(DayOfWeek.MONDAY, 1).dayOfWeek();
LocalDate localDate = LocalDate.from(date);
localDate = localDate.with(fieldIso, 1);
return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
}
public static Date getEndDayOfWeek(TemporalAccessor date) {
TemporalField fieldIso = WeekFields.of(DayOfWeek.MONDAY, 1).dayOfWeek();
LocalDate localDate = LocalDate.from(date);
localDate = localDate.with(fieldIso, 7);
return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
}
输出:
本周第一天:2020-09-07 00:00:00
本周最后一天:2020-09-13 00:00:00
版权声明:本文为u012586389原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。