2 回答
TA贡献1877条经验 获得超6个赞
如果列表包含偶数个有效日期字符串,则以下代码将起作用。
将迭代列表,提取每对日期并计算天数差异:
public static long getDaysDif(LocalDate fromDate, LocalDate toDate) {
return ChronoUnit.DAYS.between(fromDate, toDate);
}
public static LocalDate getLocalDateFromString(String d, String format) {
return LocalDate.parse(d, DateTimeFormatter.ofPattern(format));
}
public static void main(String[] args) {
List<String> list = new ArrayList<>
(Arrays.asList
("2018-09-05", "2018-09-13", "2018-09-14", "2018-09-28", "2018-09-29", "2018-10-13"));
for (int i = 0; i < list.size(); i+=2) {
String strStart = list.get(i);
String strEnd = list.get(i + 1);
LocalDate dateStart = getLocalDateFromString(strStart, "yyyy-MM-dd");
LocalDate dateEnd = getLocalDateFromString(strEnd, "yyyy-MM-dd");
long dif = getDaysDif(dateStart, dateEnd);
System.out.println(dif);
}
}
将打印:
8
14
14
TA贡献1829条经验 获得超9个赞
我不完全理解您关于选择日期的问题的第一部分,但要找到日期之间的天数,您可以执行以下操作:
import java.time.LocalDate;
import java.time.Period;
public class Application {
public static void main(String[] args) {
LocalDate startDate= LocalDate.now();
LocalDate endDate= today.plusDays(6);
Period period = Period.between(startDate, endDate);
int difference = period.getDays();
}
}
添加回答
举报
