java用日历类查询两个日期之间所以的周六和周日
时间: 2024-09-11 22:12:05 浏览: 44
在Java中,你可以使用`java.util.Calendar`和`java.time`包下的`LocalDate`类来查询两个日期之间所有的周六和周日。这里是一个简单的示例:
```java
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class WeekdayFinder {
private static final String DATE_FORMAT = "yyyy-MM-dd";
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
Date startDate = sdf.parse("起始日期字符串");
Date endDate = sdf.parse("结束日期字符串");
List<Date> weekends = findWeekends(startDate, endDate);
for (Date date : weekends) {
System.out.println(sdf.format(date));
}
}
public static List<Date> findWeekends(Date start, Date end) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(start);
List<Date> weekends = new ArrayList<>();
while (!calendar.getTime().after(end)) {
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY) {
weekends.add(calendar.getTime());
}
calendar.add(Calendar.DAY_OF_YEAR, 1); // 移动到下一个日期
}
return weekends;
}
}
```
在这个例子中,`findWeekends`方法会从给定的开始日期持续到结束日期,找到并返回所有周六和周日的日期。记得将"起始日期字符串"和"结束日期字符串"替换为你实际需要的日期。
阅读全文