java查询两个日期之间所以的周六和周日
时间: 2024-09-11 15:12:05 浏览: 37
java根据日期计算年龄和星期
在Java中,你可以使用`java.time`包下的类来处理日期范围内的特定日子,例如星期六(Saturday)和星期日(Sunday)。这里是一个简单的示例,展示如何获取两个日期之间的所有周末:
```java
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.List;
public class WeekendDates {
public static List<LocalDate> getWeekends(LocalDate startDate, LocalDate endDate) {
List<LocalDate> weekends = new ArrayList<>();
if (startDate.getDayOfWeek() == DayOfWeek.SATURDAY || startDate.getDayOfWeek() == DayOfWeek.SUNDAY) {
weekends.add(startDate);
}
while (!startDate.isAfter(endDate)) {
startDate = startDate.plusDays(1); // 向后加一天
if (startDate.getDayOfWeek() == DayOfWeek.SATURDAY || startDate.getDayOfWeek() == DayOfWeek.SUNDAY) {
weekends.add(startDate);
}
}
return weekends;
}
public static void main(String[] args) {
LocalDate startDate = LocalDate.of(2023, 1, 1); // 示例起始日期
LocalDate endDate = LocalDate.of(2023, 2, 28); // 示例结束日期
List<LocalDate> weekendDates = getWeekends(startDate, endDate);
for (LocalDate date : weekendDates) {
System.out.println(date);
}
}
}
```
这个`getWeekends`方法首先检查起始日期是否是周末,如果是则添加到结果列表中。然后它会迭代从起始日期到结束日期的所有天数,如果发现是周末,就把它添加到列表里。
阅读全文