两个日期 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(); } }}