以下代码可帮助您查找两个日期之间指定的工作日(星期一,星期二,星期三等)的数量。我们下面使用的解决方案是在两个日期之间循环,并检查这些日期的工作日是否等于我们要计算的日期。
package org.nhooo.example.util; import java.util.Calendar; public class DaysBetweenDate { public static void main(String[] args) { // Java中的月份值基于0,因此11表示12月。 Calendar start = Calendar.getInstance(); start.set(2017, 11, 1); Calendar end = Calendar.getInstance(); end.set(2017, 11, 31); System.out.print("Number Monday between " + start.getTime() + " and " + end.getTime() + " are: "); int numberOfDays = 0; int monday = Calendar.MONDAY; while (start.before(end)) { if (start.get(Calendar.DAY_OF_WEEK) == monday) { numberOfDays++; start.add(Calendar.DATE, 7); } else { start.add(Calendar.DATE, 1); } } System.out.println(numberOfDays); } }
我们程序的结果是:
Number Monday between Fri Dec 01 15:57:12 CST 2017 and Sun Dec 31 15:57:12 CST 2017 are: 4