枚举法判断某天是否为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;
}
}