记录一下Calendar的一个应用:实现获取4月11号到6月10号的日期
@Test
public void execute() {
SimpleDateFormat sdfForUrl = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdfForDb = new SimpleDateFormat("yyyy-MM-dd");
Calendar start = Calendar.getInstance();
Calendar end = Calendar.getInstance();
Date date = new Date();
start.setTime(date);
end.setTime(date);
start.add(Calendar.MONDAY,-2);//4月11号
end.add(Calendar.DAY_OF_WEEK,-1);//6月10号 //当时是6月11号
while(true){
if(start.getTimeInMillis()<=end.getTimeInMillis()){
checkAccountsTask.getUsedMessageToDb(sdfForUrl.format(start.getTime()),sdfForDb.format(start.getTime()));
start.add(Calendar.DAY_OF_WEEK,1);
}else {
break;
}
}
}
通过上面的while循环获取4月11号到6月10号的日期。
然后通过SimpleDateFormat 日期格式化类,构造两种日期格式。用于getUsedMessageToDb方法中:获取当日订单url中需要用到当天日期,其格式如20180101,而插入数据库时需要插入日期,其格式如2018-01-01。