package test;
import jdbc.MysqlHelper;
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 test2 {
public static void main(String[] args) throws ParseException {
List<String> dates = getDates("2020-08-1", "2020-08-18");
for(String date:dates){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
"yyyy-MM-dd");// 注意月份是MM
ArrayList<String> time = getTime(simpleDateFormat.parse(date));
// 循环执行存储过程
for(String s:time){
String sql="CALL 存储过程名称('"+s+"');";
System.out.println(s);
int executeIn = MysqlHelper.executeIn(sql);
System.out.println(executeIn);
}
}
}
public static ArrayList<String> getTime(Date day) throws ParseException {
// Date day=new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s = df.format(day);
Date date = df.parse(s);
ArrayList<String> dates1 = new ArrayList<String>();
dates1.add(s);
for (int i = 0; i < 24; i++) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.HOUR, 1);
date = cal.getTime();
String s1 = format.format(date);
dates1.add(s1);
}
return dates1;
}
/**
* * 获取两个日期之间的所有日期 * * @param startDate 开始日期 * @param
* endDate 结束日期 * @return List集合
*
* @throws ParseException
*/
public static List<String> getDates(String startDate, String endDate)
throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
List<String> list = new ArrayList<String>(); // 保存日期的集合
Date date_start = sdf.parse(startDate);
Date date_end = sdf.parse(endDate);
Date date = date_start;
Calendar cd = Calendar.getInstance();// 用Calendar 进行日期比较判断
while (date.getTime() <= date_end.getTime()) {
list.add(sdf.format(date));
cd.setTime(date);
cd.add(Calendar.DATE, 1);// 增加一天 放入集合
date = cd.getTime();
}
// String strList = StringUtils.strip(list.toString(),"[]");//去掉符号[]
//
// System.out.println(list);
//
// System.out.println(strList);
return list;
}
}