日期:2014-05-17  浏览次数:20824 次

遍历日期之间每天的日期
页面上获得了起始时间和结束时间,然后我用SimpleDateFormat把时间格式化了,现在我想做到遍历每天的日期

比如说我得到的日期是起始时间2013.04.29结束时间2013.05.10

我要得到一个list里面存放每天的日期
04.29,04.30,05.01,05.02,05.03,05.04,05.05,05.06,05.07,05.08,05.09,05.10
就是这样 有什么好办法没啊

------解决方案--------------------
先算出相隔多少天,
然后用Calendar类的add方法,依次输出+1的日期。。。
------解决方案--------------------
String a = "2013.04.29";
String b = "2013.05.10";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
try {
long end = sdf.parse(b).getTime();
long begin = sdf.parse(a).getTime();
while(begin<=end){
Date day = new Date();
day.setTime(begin);
begin += 3600*24*1000;
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

------解决方案--------------------
完整版:
/**输入日期格式:2013.04.29*/
public static List getDays(String a, String b) {
List days = new ArrayList();// 日期集合
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
try {
long end = sdf.parse(b).getTime();
long begin = sdf.parse(a).getTime();
while (begin <= end) {
Date day = new Date();
day.setTime(begin);
begin += 3600 * 24 * 1000;
days.add(sdf.format(day));
}

} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return days;
}