java 如何求得两个日期中的每一天?两个日期 2008-10-01 , 2010-10-01求它们中间的每一天的日期 ,如2008-10
java 如何求得两个日期中的每一天?
两个日期 2008-10-01 , 2010-10-01
求它们中间的每一天的日期 ,如
2008-10-01
2008-10-02
2008-10-03
...
..
2010-10-01
如何做啊?
[解决办法]
使用Calender类做日期加法,例子:
Calendar cal=Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DAY_OF_MONTH,1);
date=cal.getTime();
循环即可得到所有日期。
[解决办法]
- Java code
Date date0 = new SimpleDateFormat("yyyy-MM-dd").parse("2008-10-01");Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse("2010-10-01");Calendar cal = Calendar.getInstance();cal.setTime(date0);while(cal.getTime().compareTo(date1)<=0){ //... cal.add(Calendar.DAY_OF_MONTH,1);}
[解决办法]
- Java code
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); java.util.Date date= myFormatter.parse("2010-10-01"); java.util.Date mydate= myFormatter.parse("2008-10-01"); long day=(date.getTime()-mydate.getTime())/(24*60*60*1000); System.out.println("相差的日期:" + day);
[解决办法]
- Java code
import java.util.*;import java.text.*;public class DisplayDateEveryday { public static void main(String args[]){ display("2008-08-08", "2008-08-24"); } public static void display(String dateFirst, String dateSecond){ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); try{ Date dateOne = dateFormat.parse(dateFirst); Date dateTwo = dateFormat.parse(dateSecond); Calendar calendar = Calendar.getInstance(); calendar.setTime(dateOne); while(calendar.getTime().before(dateTwo)){ System.out.println(dateFormat.format(calendar.getTime())); calendar.add(Calendar.DAY_OF_MONTH, 1); } } catch(Exception e){ e.printStackTrace(); } }} 