可以使用 Java 的日期时间类库来实现判断字符串开始时间和结束时间是否在 5、10、15、20 个工作日内。以下是一个示例代码:

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

public class Main {

    public static void main(String[] args) {
        String startTime = '2021-01-01 09:00:00';
        String endTime = '2021-01-15 17:00:00';

        // 将字符串转换为 LocalDateTime 对象
        LocalDateTime startDateTime = LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern('yyyy-MM-dd HH:mm:ss'));
        LocalDateTime endDateTime = LocalDateTime.parse(endTime, DateTimeFormatter.ofPattern('yyyy-MM-dd HH:mm:ss'));

        // 计算开始时间和结束时间之间的工作日天数
        long workingDays = calculateWorkingDays(startDateTime.toLocalDate(), endDateTime.toLocalDate());

        // 判断是否在 5、10、15、20 个工作日内
        if (workingDays <= 5) {
            System.out.println('在 5 个工作日内');
        } else if (workingDays <= 10) {
            System.out.println('在 10 个工作日内');
        } else if (workingDays <= 15) {
            System.out.println('在 15 个工作日内');
        } else if (workingDays <= 20) {
            System.out.println('在 20 个工作日内');
        } else {
            System.out.println('不在 5、10、15、20 个工作日内');
        }
    }

    // 计算两个日期之间的工作日天数
    public static long calculateWorkingDays(LocalDate startDate, LocalDate endDate) {
        long workingDays = 0;
        LocalDate date = startDate;
        while (date.isBefore(endDate) || date.isEqual(endDate)) {
            if (date.getDayOfWeek() != java.time.DayOfWeek.SATURDAY && date.getDayOfWeek() != java.time.DayOfWeek.SUNDAY) {
                workingDays++;
            }
            date = date.plusDays(1);
        }
        return workingDays;
    }
}

请注意,在计算工作日天数时,我们假设周六和周日为非工作日。您可以根据实际情况进行调整。

Java 计算时间范围是否在指定工作日内 (yyyy-MM-dd HH:mm:ss 格式)

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

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