java根据年份输出对应的日期并放入数组
时间: 2025-01-02 19:45:34 浏览: 6
在Java中,你可以使用`java.time.LocalDate`和`java.util.ArrayList`来创建一个包含特定年份对应日期的数组。首先,你需要获取每个年的第一天和最后一天,然后把这些日期添加到数组中。这里是一个简单的例子:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
int startYear = 1900; // 开始年份,可根据需求调整
int endYear = 2023; // 结束年份,可以根据当前年份调整
List<LocalDate> datesArray = new ArrayList<>();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
for (int year = startYear; year <= endYear; year++) {
LocalDate startDate = LocalDate.of(year, 1, 1);
LocalDate endDate = LocalDate.of(year, 12, 31);
datesArray.add(startDate);
if (!startDate.isAfter(endDate)) { // 防止一年中的闰日导致重复添加
datesArray.add(endDate);
}
}
// 输出日期列表
for (LocalDate date : datesArray) {
System.out.println(date.format(formatter));
}
// 如果你想将这个数组转换成字符串数组,可以这样做
String[] stringDates = datesArray.stream()
.map(date -> date.format(formatter))
.toArray(String[]::new);
// 使用时,stringDates 就是你需要的字符串数组了
}
}
```
在这个示例中,我们创建了一个包含从指定开始年份到结束年份所有完整年份每一天的日期列表。如果需要的是每个月的第一天或最后一天,只需修改`startDate`和`endDate`的计算方式。
阅读全文