Java 判断字符串日期是否在指定工作日范围内
以下是判断字符串开始时间和结束时间是否在 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方法用于计算开始日期和结束日期之间的工作日数量,并判断是否在指定的工作日范围内。
原文地址: https://www.cveoy.top/t/topic/mLPr 著作权归作者所有。请勿转载和采集!