import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String tableName = "user_que_log" ; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date dBegin; Date dEnd; try { dBegin = sdf.parse("2017-01-01"); dEnd = sdf.parse("2017-12-31"); List<String> datas = findDates(dBegin, dEnd); if(datas != null && datas.size() > 0) { /*for(int i=0; i<datas.size(); i++) { System.out.println(datas.get(i)); }*/ for(int i=0; i<datas.size(); i++) { System.out.println("ALTER TABLE " + tableName + " DROP IF EXISTS PARTITION (day=‘"+ datas.get(i) +"‘);"); } } } catch (ParseException e) { e.printStackTrace(); } } private static List<String> findDates(Date dBegin, Date dEnd) { List<String> lDate = new ArrayList<String>(); SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); lDate.add(sd.format(dBegin)); Calendar calBegin = Calendar.getInstance(); // 使用给定的 Date 设置此 Calendar 的时间 calBegin.setTime(dBegin); Calendar calEnd = Calendar.getInstance(); // 使用给定的 Date 设置此 Calendar 的时间 calEnd.setTime(dEnd); // 测试此日期是否在指定日期之后 while (dEnd.after(calBegin.getTime())) { // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 calBegin.add(Calendar.DAY_OF_MONTH, 1); lDate.add(sd.format(calBegin.getTime())); } return lDate; } }
原文地址:https://www.cnblogs.com/chengjianxiaoxue/p/10150523.html
时间: 2024-10-20 09:02:00