java实现T+n工作日判断(节假日判断)

本文介绍如何使用Java处理节假日和T+n工作日的判断问题。通过建立数据库表存储节假日信息,包括周末,然后定期更新数据,实现T+n工作日的智能计算,确保即使节假日也能准确计算。

节假日每年都不一样,没有特定的规律,所以需要手工做配置,在数据库中建一张holiday表记录节假日,包括周六日放假,字段包含id(唯一标识), holiday(具体的节假日日期),然后定期删除旧的节假日数据,导入新一年的节假日数据。

T:当前日期

T+0:如果T是节假日,则相当于T+1

T+n:接下来的第n个工作日



import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.time.DateUtils;
import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;


@Service
public class HolidayServiceImpl extends ServiceImpl<HolidayMapper, Holiday> implements IHolidayService {

	@Override
	public Date nextNWorkDay(Date date, Integer n){
		List<Holiday> holidays= this.list();
		if (n == 0) {	// T+0,如果T是节假日就相当于T+1
			for (Holiday holiday: holidays) {
				if (DateUtils.isSameDay(date, holiday.getHoliday())) {
					n = 1;
				}
			}
		}
                int delay = 1;
		while (delay <= n) {
		        boolean addDelay = true;
	           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值