java節假日

public class CalendarTest {
//節假日列表
private static List<Calendar> holidayList = new ArrayList<Calendar>();
//週末爲工做日
private static List<Calendar> weekendList = new ArrayList<Calendar>();
/**
* @param args
* return void 返回類型
* throws
*/
public static void main(String[] args) {
try {

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar ca = Calendar.getInstance();
Date d = df.parse("2016-09-15");
ca.setTime(d);//設置當前時間

CalendarTest ct = new CalendarTest();
ct.initHolidayList("2016-09-15");//初始節假日
ct.initHolidayList("2016-09-16");//初始節假日
ct.initHolidayList("2016-09-17");//初始節假日

ct.initWeekendList("2016-09-18");//初始週末爲工做日

boolean k = checkHoliday(ca);
System.out.println(k);

} catch ( Exception e) {
// TODO: handle exception
System.out.println(e.getClass());
e.printStackTrace();
}

}




/**
*
* 驗證日期是不是節假日
* @param calendar 傳入須要驗證的日期
* @return
* return boolean 返回類型 返回true是節假日,返回false不是節假日
* throws
*/
public static boolean checkHoliday(Calendar calendar) throws Exception{

//判斷日期是不是週六週日
if(calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY ||
calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){

//判斷日期是不是節假日
for (Calendar ca : weekendList) {
if(ca.get(Calendar.MONTH) == calendar.get(Calendar.MONTH) &&
ca.get(Calendar.DAY_OF_MONTH) == calendar.get(Calendar.DAY_OF_MONTH)&&
ca.get(Calendar.YEAR) == calendar.get(Calendar.YEAR)){
return false;
}
}

return true;
}
//判斷日期是不是節假日
for (Calendar ca : holidayList) {
if(ca.get(Calendar.MONTH) == calendar.get(Calendar.MONTH) &&
ca.get(Calendar.DAY_OF_MONTH) == calendar.get(Calendar.DAY_OF_MONTH)&&
ca.get(Calendar.YEAR) == calendar.get(Calendar.YEAR)){
return true;
}
}

return false;
}

/**
*
* 把全部節假日放入list
* @param date 從數據庫查 查出來的格式2016-05-09
* return void 返回類型
* throws
*/
public void initHolidayList(String date){

String [] da = date.split("-");

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, Integer.valueOf(da[0]));
calendar.set(Calendar.MONTH, Integer.valueOf(da[1])-1);//月份比正常小1,0表明一月
calendar.set(Calendar.DAY_OF_MONTH, Integer.valueOf(da[2]));
holidayList.add(calendar);
}

/**
* 初始化週末被調整爲工做日的數據
*/
public void initWeekendList(String date){
String [] da = date.split("-");

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, Integer.valueOf(da[0]));
calendar.set(Calendar.MONTH, Integer.valueOf(da[1])-1);//月份比正常小1,0表明一月
calendar.set(Calendar.DAY_OF_MONTH, Integer.valueOf(da[2]));
weekendList.add(calendar);
}

}

數據庫

相關文章
相關標籤/搜索