zhuo
2024-07-23 5ed5f51d479989d5b2149b09c82b6b3ea495b589
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -3,12 +3,42 @@
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() throws Exception {
    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);
                }
    }
}