我需要检查数组列表中是否存在日期(字符串)。在JodaTime中生成日期范围
我有两个日期,首先我需要生成这两个日期之间的日期范围并将它们存储在一个数组中。这就是我正在做的。
DateTimeFormatter dateFromatter= DateTimeFormat.forPattern("MM/dd/yyyy");
DateTime startDate= formatter.parseDateTime("01/02/2012");
DateTime endDate= formatter.parseDateTime("01/31/2012");
List<LocalDate> dates = new ArrayList<LocalDate>();
int days = Days.daysBetween(startDate, endDate).getDays();
for (int i=0; i < days; i++) {
这就是我遇到问题的地方。
Type mismatch: cannot convert from DateTime to LocalDate
> LocalDate listOfDates =
> startDate.withFieldAdded(DurationFieldType.days(), i);
> dates.add(listOfDates);
}
这是不正确的,因为LocalDate'date'只是ReadablePartial而不是ReadableInstant。您可以使用startDate和endDate(它们是DateTime)创建一个间隔,然后测试date.toDateMidnight()是否在间隔中,但要小心endDate,因为它在时间间隔中是排他的。 – 2014-10-28 20:50:37