要在 Java 中获取某一年的所有日期,可以使用 java.time
包中的 LocalDate
和 Year
类。下面是一个示例代码,展示如何获取某一年(例如 2024 年)的所有日期:
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
public class DatesOfYear {
public static void main(String[] args) {
int year = 2024; // 替换成你需要的年份
List<LocalDate> dates = getAllDatesOfYear(year);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
for (LocalDate date : dates) {
System.out.println(date.format(formatter));
}
}
public static List<LocalDate> getAllDatesOfYear(int year) {
List<LocalDate> dates = new ArrayList<>();
LocalDate startDate = LocalDate.of(year, 1, 1);
LocalDate endDate = LocalDate.of(year, 12, 31);
while (!startDate.isAfter(endDate)) {
dates.add(startDate);
startDate = startDate.plusDays(1);
}
return dates;
}
}
这段代码示例会自动处理闰年和平年的日期计算,无需额外的闰年检查逻辑。