要获取上个月所有周一的日期,可以使用Java的日期时间库来实现。下面是一种可能的实现方式:
`java
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
public class LastMonthMondays {
public static void main(String[] args) {
List
for (LocalDate monday : lastMonthMondays) {
System.out.println(monday);
}
}
public static List
LocalDate today = LocalDate.now();
LocalDate firstDayOfCurrentMonth = today.withDayOfMonth(1);
LocalDate firstDayOfLastMonth = firstDayOfCurrentMonth.minusMonths(1);
LocalDate lastDayOfLastMonth = firstDayOfCurrentMonth.minusDays(1);
List
LocalDate currentDay = firstDayOfLastMonth;
while (currentDay.isBefore(lastDayOfLastMonth) || currentDay.isEqual(lastDayOfLastMonth)) {
if (currentDay.getDayOfWeek() == DayOfWeek.MONDAY) {
lastMonthMondays.add(currentDay);
}
currentDay = currentDay.plusDays(1);
}
return lastMonthMondays;
}
`
上述代码中,我们首先获取当前日期today,然后通过withDayOfMonth(1)方法获取当前月份的第一天firstDayOfCurrentMonth。接下来,我们通过minusMonths(1)方法获取上个月的第一天firstDayOfLastMonth,再通过minusDays(1)方法获取上个月的最后一天lastDayOfLastMonth。
然后,我们创建一个List
我们返回存储了上个月所有周一日期的列表。
你可以通过调用getLastMonthMondays()方法来获取上个月所有周一的日期,并进行进一步的处理和使用。
希望这个代码能够帮助到你!如果你有任何疑问,请随时提问。