String str="2011-02-14";
String str1="2011-02-25";
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Calendar start = Calendar.getInstance();
Calendar end = Calendar.getInstance();
try {
start.setTime(format.parse(str));
end.setTime(format.parse(str1));
} catch (Exception e) {
e.printStackTrace();
}
while(start.before(end)){
……
}
该怎么取到start和end相等的情况?
String str1="2011-02-25";
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Calendar start = Calendar.getInstance();
Calendar end = Calendar.getInstance();
try {
start.setTime(format.parse(str));
end.setTime(format.parse(str1));
} catch (Exception e) {
e.printStackTrace();
}
while(start.before(end)){
……
}
该怎么取到start和end相等的情况?
start.setTime(format.parse(str));
end.setTime(format.parse(str1));
}
这条语句你就将start和end分别设置了时间,2011-02-14和2011-02-25,若你不setTime,那么就是默认的当前时间Now。
你想两个时间相等,String str="2011-02-14"; String str1="2011-02-25";这样坑定不行,都写死了。
给你个例子 看是不是你想要的import java.util.Calendar;
import java.util.Date;
public class test { /**
* @param args
*/
public static void main(String[] args) {
Date date=new Date(2011,2,21);
Date date1=new Date(2011,2,22);
Date date2;
int i=-1;
while(date.before(date1)){
i--;
date1=addDay(date1,i);
System.out.println(date1.getDate());
}
//}
}
// 增加或减少几天
public static Date addDay(Date date, int num) {
Calendar startDT = Calendar.getInstance();
startDT.setTime(date);
startDT.add(Calendar.DATE, num);
return startDT.getTime(); }
}
现在已经解决了,在循环外面对end加一天就可以了!
非常感谢各位!