java 生成指定年月的 天 yyyy-MM-dd格式的LIST
时间: 2023-12-12 20:05:12 浏览: 71
可以使用 Java 8 中的 LocalDate 类和 Stream API 来生成指定年月的天数。具体实现如下:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class DateUtils {
public static List<String> getDaysInMonth(String yearMonth) {
LocalDate localDate = LocalDate.parse(yearMonth + "-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
int daysInMonth = localDate.lengthOfMonth();
return IntStream.rangeClosed(1, daysInMonth)
.mapToObj(day -> localDate.withDayOfMonth(day).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))
.collect(Collectors.toList());
}
public static void main(String[] args) {
List<String> daysInMonth = getDaysInMonth("2021-02");
System.out.println(daysInMonth);
}
}
```
该方法接收一个年月字符串,例如 "2021-02",然后使用 LocalDate 解析为 LocalDate 对象。接着获取该月的天数,使用 IntStream 和 mapToObj 生成每一天的 LocalDate 对象,并格式化为指定格式的字符串,最后以列表形式返回。
阅读全文