获取两个日期范围之间的数字日期包括开始日期和结束日期

时间:2014-02-20 05:06:46

标签: java gwt

如何获取两个日期范围之间的天数,包括开始日期和结束日期。 开始日期以字符串形式存储t3为20140221。 结束日期以字符串形式存储t4为20140315。 如何获取java和gwt中这两个日期之间的天数。 如何在两个给定日期之间获得相应日期的日期范围。

例如: -

从2004年10月10日到14/10/2004日期范围

10/10/2004星期日 11/10/2004星期一 2004年10月12日星期二 2004年10月13日星期三 周四14/10/2004

/////////////////////////////////////////////// ////////////////////////////////////////////////// ////

private ArrayList<Date> searchDatesBetween(Date stdate,Date endate)
{
    ArrayList<Date> searchList=new ArrayList<Date>();
Date begin=new Date(stdate.getTime());
searchList.add(new Date(begin.getTime()));
while(begin.compareTo(endate)<0){           
begin=new Date(begin.getTime()+864000);     
searchList.add(new Date(begin.getTime()));
}
return searchList;
}
  

块引用

void onButCreateRosterClick(ClickEvent event) {
    DateTimeFormat l_format = DateTimeFormat.getFormat("EEE-dd/MM/yyyy");   
    Date stdate=new Date();
    Date endate=new Date(); 
    dateList=new ArrayList<Date>();     

    stDateOfRoster=mRosterList.get(indexofdate).getT3();
    enDateOfRoster=mRosterList.get(indexofdate).getT4();
    codeOfShift=mShiftList.get(indexofshift).getT1();
    stdate=l_format.parse(stDateOfRoster);
    endate=l_format.parse(enDateOfRoster);

    dateList=searchDatesBetween(stdate,endate);
}

2 个答案:

答案 0 :(得分:0)

在Joda-Time 1.4版中尝试Days类。

Days d = Days.daysBetween(startDate, endDate);
int days = d.getDays();

答案 1 :(得分:0)

解析两个日期并使用CalendarUitl。例如:

Date startDate = DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).parseStrict(value1);
Date endDate = DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).parseStrict(value2);
int days = CalendarUtil.getDaysBetween(startDate, endDate);