java 获取n个工作日后的日期(包含法定节假日、双休日、节后补班)
2020-12-13 05:01
标签:gui set 字符 日期 sda settime key 工具类 文件中 1.说明: 获取n个工作日后的日期(包含法定节假日、双休日、节后补班),需要在数据库手动入库当年的法定节假日及节假日调休补班。(也可写在配置文件中读取) 2.工具类代码 3.测试调用 4.sql脚本 java 获取n个工作日后的日期(包含法定节假日、双休日、节后补班) 标签:gui set 字符 日期 sda settime key 工具类 文件中 原文地址:https://www.cnblogs.com/irishua/p/11128326.htmlimport java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* 用于查询n个工作日(包含法定节假日、双休日、调休)后的日期
* @author ywh
* @version 创建时间:2019年4月24日 下午5:50:29
*/
public class HolidayUtils {
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
/**
* 用于判断n个工作日(排除节假日、周六日包含节后补班数据)后的日期
*
* @author ywh
* @version 创建时间:2019年4月24日 上午11:24:58
* @param list 节假日数据源
* @param weekDayList 节后补班数据源
* @param today 计算开始时间
* @param num 多少个工作日 根据需要自行安排
* @return
* @throws ParseException
*/
@SuppressWarnings("deprecation")
public static Date getScheduleActiveDate(List
public String holiday(String date){
Date today1 = new Date();
int num = 10;//
List
DROP TABLE IF EXISTS `holiday`;
CREATE TABLE `holiday` (
`GUID` varchar(36) COLLATE utf8_bin NOT NULL,
`DATE` varchar(10) COLLATE utf8_bin DEFAULT NULL,
`TYPE` varchar(1) COLLATE utf8_bin DEFAULT NULL COMMENT ‘0:法定节假日;1 节假日调休补班(如某个节假日前后周六日上班的情况)‘,
PRIMARY KEY (`GUID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=‘此表需每年根据法定节假日具体时间更新一次‘;
-- ----------------------------
-- Records of holiday
-- ----------------------------
INSERT INTO `holiday` VALUES (‘1‘, ‘2019-05-01‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘10‘, ‘2019-09-15‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘11‘, ‘2019-10-01‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘12‘, ‘2019-10-02‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘13‘, ‘2019-10-03‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘14‘, ‘2019-10-04‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘15‘, ‘2019-10-05‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘16‘, ‘2019-10-06‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘17‘, ‘2019-10-07‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘18‘, ‘2019-04-28‘, ‘1‘);
INSERT INTO `holiday` VALUES (‘19‘, ‘2019-05-05‘, ‘1‘);
INSERT INTO `holiday` VALUES (‘2‘, ‘2019-05-02‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘20‘, ‘2019-09-29‘, ‘1‘);
INSERT INTO `holiday` VALUES (‘21‘, ‘2019-10-12‘, ‘1‘);
INSERT INTO `holiday` VALUES (‘3‘, ‘2019-05-03‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘4‘, ‘2019-05-04‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘5‘, ‘2019-06-07‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘6‘, ‘2019-06-08‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘7‘, ‘2019-06-09‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘8‘, ‘2019-09-13‘, ‘0‘);
INSERT INTO `holiday` VALUES (‘9‘, ‘2019-09-14‘, ‘0‘);
下一篇:java是值传递还是引用传递?
文章标题:java 获取n个工作日后的日期(包含法定节假日、双休日、节后补班)
文章链接:http://soscw.com/essay/30316.html