java 计算两个时间相差天数(开始时间大于结束时间) 不计算周末
时间: 2023-08-02 09:09:45 浏览: 154
可以使用 Java 中的 Calendar 类来计算两个时间相差天数,并且可以通过判断日期是否为周末来排除周末。
下面是一个示例代码:
```java
import java.util.Calendar;
public class DateUtil {
/**
* 计算两个时间相差天数(开始时间大于结束时间),不计算周末
*
* @param startDate 开始时间
* @param endDate 结束时间
* @return 相差天数(不包括周末)
*/
public static int getDiffDaysWithoutWeekend(Calendar startDate, Calendar endDate) {
// 如果开始时间在结束时间之后,则交换两个时间
if (startDate.after(endDate)) {
Calendar temp = startDate;
startDate = endDate;
endDate = temp;
}
int days = 0;
while (startDate.before(endDate)) {
// 判断当前日期是否为周末
int dayOfWeek = startDate.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek != Calendar.SATURDAY && dayOfWeek != Calendar.SUNDAY) {
days++;
}
startDate.add(Calendar.DAY_OF_MONTH, 1); // 日期加1天
}
return days;
}
}
```
使用示例:
```java
Calendar start = Calendar.getInstance();
start.set(2021, 0, 1); // 2021年1月1日
Calendar end = Calendar.getInstance();
end.set(2021, 0, 10); // 2021年1月10日
int diffDays = DateUtil.getDiffDaysWithoutWeekend(start, end);
System.out.println("相差天数(不包括周末):" + diffDays);
```
输出结果为:相差天数(不包括周末):6。
阅读全文