以下是处理字符串类型年月日期生成当前月份天数的List集合的Java代码示例:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;

public class MonthAttendanceLogGenerator {

    /**
     * 生成当前月份的考勤日志
     * @param yearMonthStr 年月字符串,格式为"yyyy-MM"
     * @return 当前月份的考勤日志List集合
     */
    public List<MonthAttendanceLog> generateMonthAttendanceLog(String yearMonthStr) {
        List<MonthAttendanceLog> monthAttendanceLogList = new ArrayList<>();
        LocalDate yearMonth = LocalDate.parse(yearMonthStr + "-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
        int daysOfMonth = yearMonth.lengthOfMonth(); // 当前月份天数
        for (int i = 1; i <= daysOfMonth; i++) {
            LocalDate date = LocalDate.of(yearMonth.getYear(), yearMonth.getMonth(), i);
            MonthAttendanceLog attendanceLog = new MonthAttendanceLog(date);
            monthAttendanceLogList.add(attendanceLog);
        }
        return monthAttendanceLogList;
    }

    public static void main(String[] args) {
        MonthAttendanceLogGenerator generator = new MonthAttendanceLogGenerator();
        List<MonthAttendanceLog> monthAttendanceLogList = generator.generateMonthAttendanceLog("2022-02");
        System.out.println(monthAttendanceLogList);
    }
}

class MonthAttendanceLog {

    private LocalDate date;

    public MonthAttendanceLog(LocalDate date) {
        this.date = date;
    }

    public LocalDate getDate() {
        return date;
    }

    @Override
    public String toString() {
        return "MonthAttendanceLog{" +
                "date=" + date +
                '}';
    }
}

代码中的generateMonthAttendanceLog方法接受一个年月字符串,例如"2022-02",使用LocalDate类将其转换为LocalDate对象,然后通过lengthOfMonth方法获取当前月份的天数。接着,循环遍历每一天,生成一个MonthAttendanceLog对象,并将其添加到集合中返回。MonthAttendanceLog类只包含一个LocalDate对象,用于表示某一天的考勤日志。在main方法中,我们可以看到通过调用generateMonthAttendanceLog方法生成了一个包含28个考勤日志的List集合。

java代码 处理字符串类型年月日期生成当前月份天数的ListMonthAttendanceLog集合

原文地址: https://www.cveoy.top/t/topic/bJkj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录