欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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("节假前后加班日期...");
		}
	}