在项目中遇到一种场景,要求一段时间内的每一天的数据都查出10条,这就需要遍历日期,取得每一天的日期值。
直接上代码:
String beginDate = "2019-01-01";
String endDate = "2019-01-31";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = format.parse(beginDate);
Date d2 = format.parse(endDate);
Calendar dd = Calendar.getInstance(); //定义日期实例
dd.setTime(d1); //将开始日期放入日历
while(d1.compareTo(d2)<=0){ //小于结束日期
dd.setTime(d1);
sql = "select * from t_table where rcd_dt = '"+format.format(d1)+"' limit 10"
if(d1.compareTo(d2)!=0){
sql += "union all";
}
dd.add(dd.DATE,1); //当前日期加一天
d1 = dd.getTime(); //重新赋值起始日期
}
如上就能得到一段时间内的每一天的日期,Calendar在处理时间段的问题上的确方便的多,记录分享!