以下是判断字符串开始时间和结束时间是否在 5、10、15、20 个工作日内的 Java 代码示例:

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;

public class Main {
    public static void main(String[] args) {
        String start = '2022-10-01';
        String end = '2022-10-19';

        boolean isWithin5WorkDays = isWithinWorkDays(start, end, 5);
        boolean isWithin10WorkDays = isWithinWorkDays(start, end, 10);
        boolean isWithin15WorkDays = isWithinWorkDays(start, end, 15);
        boolean isWithin20WorkDays = isWithinWorkDays(start, end, 20);

        System.out.println('Within 5 work days: ' + isWithin5WorkDays);
        System.out.println('Within 10 work days: ' + isWithin10WorkDays);
        System.out.println('Within 15 work days: ' + isWithin15WorkDays);
        System.out.println('Within 20 work days: ' + isWithin20WorkDays);
    }

    private static boolean isWithinWorkDays(String start, String end, int numWorkDays) {
        LocalDate startDate = LocalDate.parse(start, DateTimeFormatter.ISO_LOCAL_DATE);
        LocalDate endDate = LocalDate.parse(end, DateTimeFormatter.ISO_LOCAL_DATE);

        int workDaysCount = 0;
        LocalDate currentDate = startDate.plusDays(1); // Skip the start date

        while (currentDate.isBefore(endDate)) {
            if (currentDate.getDayOfWeek() != DayOfWeek.SATURDAY && currentDate.getDayOfWeek() != DayOfWeek.SUNDAY) {
                workDaysCount++;
            }
            currentDate = currentDate.plusDays(1);
        }

        return workDaysCount >= numWorkDays;
    }
}

在这个示例中,使用了java.time.LocalDate类来处理日期,并使用java.time.format.DateTimeFormatter类将字符串日期转换为LocalDate对象。isWithinWorkDays方法用于计算开始日期和结束日期之间的工作日数量,并判断是否在指定的工作日范围内。

Java 判断字符串日期是否在指定工作日范围内

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

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