我想要一个介于开始日期和结束日期之间的日期列表。
结果应该是所有日期的列表,包括开始日期和结束日期。
发布于 2014-05-29 20:07:04
java.time包
如果您使用的是Java 8,那么有一种更简洁的方法。Java8中的新java.time package集成了Joda-Time API的特性。
您的需求可以使用以下代码来解决:
String s = "2014-05-01";
String e = "2014-05-10";
LocalDate start = LocalDate.parse(s);
LocalDate end = LocalDate.parse(e);
List<LocalDate> totalDates = new ArrayList<>();
while (!start.isAfter(end)) {
totalDates.add(start);
start = start.plusDays(1);
}
发布于 2010-05-24 06:41:06
获取日期之间的天数。
public static List<Date> getDaysBetweenDates(Date startdate, Date enddate)
{
List<Date> dates = new ArrayList<Date>();
Calendar calendar = new GregorianCalendar();
calendar.setTime(startdate);
while (calendar.getTime().before(enddate))
{
Date result = calendar.getTime();
dates.add(result);
calendar.add(Calendar.DATE, 1);
}
return dates;
}
发布于 2013-07-25 20:12:27
像这样的东西肯定会起作用:
private List<Date> getListOfDaysBetweenTwoDates(Date startDate, Date endDate) {
List<Date> result = new ArrayList<Date>();
Calendar start = Calendar.getInstance();
start.setTime(startDate);
Calendar end = Calendar.getInstance();
end.setTime(endDate);
end.add(Calendar.DAY_OF_YEAR, 1); //Add 1 day to endDate to make sure endDate is included into the final list
while (start.before(end)) {
result.add(start.getTime());
start.add(Calendar.DAY_OF_YEAR, 1);
}
return result;
}
https://stackoverflow.com/questions/2689379
复制相似问题