package com.yuanchu.mom;
|
|
import org.junit.jupiter.api.Test;
|
import org.springframework.boot.test.context.SpringBootTest;
|
|
import java.time.LocalDate;
|
import java.time.LocalDateTime;
|
import java.time.LocalTime;
|
import java.time.temporal.TemporalAdjusters;
|
import java.time.temporal.WeekFields;
|
import java.util.Locale;
|
|
|
@SpringBootTest
|
class SystemRunApplicationTest {
|
|
@Test
|
void contextLoads() {
|
// 获取当前日期
|
LocalDate today = LocalDate.now();
|
|
// 获取本月的第一天和最后一天
|
LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());
|
LocalDate lastDayOfMonth = today.with(TemporalAdjusters.lastDayOfMonth());
|
|
// 获取周字段信息(根据区域设置)
|
WeekFields weekFields = WeekFields.of(Locale.getDefault());
|
|
// 获取本月第一天的周一
|
LocalDate startOfWeek = firstDayOfMonth.with(TemporalAdjusters.previousOrSame(weekFields.getFirstDayOfWeek()));
|
|
// 遍历本月所有天数,找出每周的第一天和最后一天
|
LocalDate endOfWeek;
|
while (startOfWeek.isBefore(firstDayOfMonth.plusMonths(1))) {
|
endOfWeek = startOfWeek.plusDays(6);
|
LocalDateTime startDateTime = LocalDateTime.of(startOfWeek, LocalTime.MIDNIGHT);
|
LocalDateTime endDateTime = LocalDateTime.of(endOfWeek, LocalTime.MIDNIGHT);
|
|
System.out.println("Week starts on " + startDateTime + " and ends on " + endDateTime);
|
|
startOfWeek = startOfWeek.plusWeeks(1);
|
}
|
}
|
}
|