当前位置: 代码迷 >> J2SE >> java 怎么求得两个日期中的每一天
  详细解决方案

java 怎么求得两个日期中的每一天

热度:43   发布时间:2016-04-24 12:54:30.0
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();        }            }}
  相关解决方案