JAVA_获取正常上班工作日-除去节假日_双休日_加上加班
程序员文章站
2022-05-17 20:33:06
...
/*
*实现思路
*1. 判断指定日期是否掉是双休日
*2. 在通过获取指定日期的 月和日 判断是否是节假
*3. 判断是否有节假日 双休加班情况
*4. 如果上面的你已经了解,那么得到工作日就简单了,不写了,自己通过需求加上
*/
public void isOverDay() { // 指定时间判断是否是双休日
String dates = "2013-05-13"; // 这里可以自定义
DateFormat df = new SimpleDateFormat("yy-MM-dd");
Date d;
try {
d = df.parse("");
if (d.getDay() == 0 || d.getDay() == 6) {
System.out.println("日期:[" + dates + "] 是双休日");
} else {
System.out.println("日期:[" + dates + "] 不是双休日");
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void isHodliDays() { // 判断是否滴节假日,是否有节假日加班
// 中国法定节假日期
String isHoliday = "01-01,01-02,01-03,02-09,02-10,02-11,02-12,02-13,02-14,"
+ "02-15,04-04,04-05,04-06,04-29,04-30,05-01,06-10,06-11,"
+ "06-12,09-19,09-20,09-21,10-01,10-02,10-03,10-04,10-05,10-06,10-07";
// 节假前后加班日期
String overDay = "01-05,01-06,02-16,02-17,04-07,04-17,04-28,06-08,06-09,09-22,09-19,10-12";
// 指定的 月份和日期
String date = "10-12"; // 这里可以自定义
if (isHoliday.contains(date)) {
System.out.println("是节假日...");
}
if (overDay.contains(date)) {
System.out.println("节假前后加班日期...");
}
}