import java.io.FileWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* @Description: 生成工作日导入SQL
*/
public class GenerateWorkDayTest {
private static DateFormat df = new SimpleDateFormat("yyyyMMdd");
@SuppressWarnings("static-access")
public static void main(String[] args) throws Exception {
Calendar calendar = Calendar.getInstance();
Date d = df.parse("20170101");
calendar.setTime(d);// 设置当前时间
FileWriter fw = new FileWriter("D:\\DevSoft\\2017workDate.sql");
for (int i = 0; i <= 365; i++) {
boolean isHoliday = checkHoliday(calendar);
Date workDate = calendar.getTime();
String workDay = df.format(workDate);
System.out.println(workDay);
calendar.add(calendar.DATE, 1);// 把日期往后增加一天
if (isHoliday) {
fw.write("INSERT CTS_WORK_DAYS(WORK_DATE, WORK_FLAG) VALUES(" + workDay + ",'N');\r\n");
continue;
} else {
fw.write("INSERT CTS_WORK_DAYS(WORK_DATE, WORK_FLAG) VALUES(" + workDay + ",'Y');\r\n");
}
}
fw.close();
}
/**
*
* @Title: checkHoliday
* @Description: TODO 验证日期是否是节假日
* @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) {
System.out.print("isholiday++");
return true;
}
// 判断日期是否是节假日
List<String> holidayList = setHolidayList();
Date workDate = calendar.getTime();
String workDay = df.format(workDate);
if(holidayList.contains(workDay)){
System.out.print("isholiday++");
return true;
}
return false;
}
static List<String> setHolidayList() {
List<String> date = new ArrayList<String>();
date.add("20170101");
date.add("20170102");
date.add("20170103");
date.add("20170127");
date.add("20170130");
date.add("20170131");
date.add("20170201");
date.add("20170202");
date.add("20170403");
date.add("20170403");
date.add("20170405");
date.add("20170501");
date.add("20170502");
date.add("20170503");
date.add("20170529");
date.add("20170530");
date.add("20171002");
date.add("20171003");
date.add("20171004");
date.add("20171005");
date.add("20171006");
return date;
}
}
基金2017年workDate工作日脚本生成
最新推荐文章于 2021-10-03 18:30:14 发布