java 获取截至当前时间的年月的List
时间: 2023-06-30 15:19:26 浏览: 140
好的,以下是获取截至当前时间的年月的Java代码实现:
```java
import java.time.YearMonth;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
public class YearMonthList {
public static List<YearMonth> getYearMonthList() {
List<YearMonth> yearMonthList = new ArrayList<>();
YearMonth currentYearMonth = YearMonth.now();
int currentYear = currentYearMonth.getYear();
int currentMonth = currentYearMonth.getMonthValue();
for (int year = 2000; year <= currentYear; year++) {
int startMonth = (year == 2000) ? 1 : currentMonth;
int endMonth = (year == currentYear) ? currentMonth : 12;
for (int month = startMonth; month <= endMonth; month++) {
yearMonthList.add(YearMonth.of(year, month));
}
}
return yearMonthList;
}
public static void main(String[] args) {
List<YearMonth> yearMonthList = getYearMonthList();
for (YearMonth yearMonth : yearMonthList) {
System.out.println(yearMonth);
}
}
}
```
这段代码实现了获取从2000年1月到当前时间的所有年月,并将它们存储在一个`List<YearMonth>`对象中。具体实现过程如下:
1. 首先定义了一个`getYearMonthList`方法,该方法返回一个`List<YearMonth>`列表;
2. 获取当前时间的年月,以及当前年份和月份;
3. 从2000年到当前年份,遍历每一年,并计算该年的起始月份和结束月份。如果当前正在处理的年份是2000年,则起始月份为1;如果当前正在处理的年份是当前年份,则结束月份为当前月份;
4. 在内部循环中,遍历每个月,并将其添加到`yearMonthList`中;
5. 最后返回`yearMonthList`列表。
在`main`方法中,我们可以调用`getYearMonthList`方法,并遍历列表将所有年月打印到控制台上。
阅读全文