枚举法判断2015年某天是否为节假日或周末

枚举法判断某天是否为2015年节假日或周末

1、节假日枚举类

/**
 *功能说明:节假日枚举类
 *
 *创建人:Gansuper
 *
 *创建时间:2015-2-6 上午10:32:17
 *
 *修改人             修改时间             修改描述
 * 
 */
public enum HolidayEnum {
	
	HOLIDAY(new String[]{"2015-01-01","2015-01-02","2015-01-03",
						 "2015-02-18","2015-02-19","2015-02-20",
						 "2015-02-21","2015-02-22","2015-02-23",
						 "2015-02-24","2015-04-05","2015-05-01",
						 "2015-06-20","2015-09-27","2015-10-01",
						 "2015-10-02","2015-10-03","2015-10-04",
						 "2015-10-05","2015-10-06","2015-10-07"});
	
	private String[] value;
	
	/**
	 * 构造函数
	 */
	private HolidayEnum(String[] value){
		this.value = value;
	}
	
	/**
	 * 
	 *功能说明:获取节假日
	 *输入参数:holidayEnum
	 *输出参数:String[]
	 *创建人:Gansuper
	 *创建时间:2015-2-6 上午11:23:38
	 *
	 */
	public String[] getValue(){
		return this.value;
	}

}

2、周末需补班日枚举类

/**
 *
 *功能说明:周末补班日枚举类
 *
 *创建人:Gansuper
 *
 *创建时间:2015-2-6 上午11:32:07
 *
 *修改人             修改时间             修改描述
 * 
 */
public enum TutorialEnum {
	
	TUTORIAL(new String[]{"2015-01-04","2015-02-15","2015-02-28",
						  "2015-04-06","2015-06-22","2015-10-10"});

	private String[] value;
	
	/**
	* 构造函数
	*/
	private TutorialEnum(String[] value){
		this.value = value;
	}
	
	/**
	* 
	*功能说明:获取周末需补班日
	*输入参数:tutorialEnum
	*输出参数:String[]
	*创建人:Gansuper
	*创建时间:2015-2-6 上午11:23:38
	*
	*/
	public String[] getValue(){
		return this.value;
	}
}

3、判断是否为节假日工具类

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *
 *功能说明:判断是否为节假日
 *
 *创建人:Gansuper
 *
 *创建时间:2015-2-6 上午11:39:24
 *
 *修改人             修改时间             修改描述
 * 
 */
public class JudgeIsOrNotHolidayUtil {
	
	/**
	 * 
	 *功能说明:是否为节假日
	 *输入参数:date 日期
	 *输出参数:boolean 【true:节假日;false:非节假日】
	 *创建人:Gansuper
	 *创建时间:2015-2-6 上午11:43:27
	 *
	 */
	public static boolean judgeDateIsHoliday(String date){
		for (String dates : HolidayEnum.HOLIDAY.getValue()) {
			if(dates.equals(date)){
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 
	 *功能说明:是否为周末且是否需补班
	 *输入参数:date 日期
	 *输出参数:boolean 【true:不上班(周末且不需补班);false:非周末、周末且需补班】
	 *创建人:Gansuper
	 *创建时间:2015-2-6 下午02:41:47
	 *
	 */
	public static boolean judgeDateIsWeekendAndNotTutorial(String date){
		SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");    
        SimpleDateFormat sdw = new SimpleDateFormat("E");    
        Date d = null;    
        try {    
            d = sd.parse(date);    
            //判断日期是否为周末
            if("星期六".equals(sdw.format(d)) || "星期日".equals(sdw.format(d))){
            	//判断周末是否需补班
            	for (String dates : TutorialEnum.TUTORIAL.getValue()) {
        			if(dates.equals(date)){
        				return false;
        			}
        		}
            }else{
            	return false;
            }
        } catch (ParseException e) {    
            e.printStackTrace();    
        }
        return true;
	}
	
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值