基金2017年workDate工作日脚本生成

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;
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值