如何获取两个日期范围之间的天数,包括开始日期和结束日期。 开始日期以字符串形式存储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);
}
答案 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);