[英]How to find most recent date compare to current date?
我创建了某种格式的日期列表。 在该列表中,我要添加一些HTML代码中的元素。 我也得到与清单相同的当前时间。
List<WebElement> times = driver.findElements(By.tagName("time"));
String timeStamp = new SimpleDateFormat("MMM d, yyyy", Locale.ENGLISH).format(Calendar.getInstance().getTime());
System.out.println(timeStamp);
for (WebElement element: times) {
System.out.println(element.getText());
}
现在,由于我必须计算已经过去了多少天,如何获取最近的通过日期并与当前日期进行比较?
您可以执行以下操作:
parse
它们parse
为LocalDate
(在formatter
设置良好的模式) max
List<WebElement> times = driver.findElements(By.tagName("time"));
LocalDate now = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH);
LocalDate mostRecent = times.stream()
.map(webE -> LocalDate.parse(webE.getText(), formatter))
.filter(date -> date.isBefore(now))
.max(Comparator.comparingLong(LocalDate::toEpochDay))
.orElseThrow(IllegalAccessException::new);
System.out.println(mostRecent);
LocalDate dateBefore;
LocalDate dateAfter;
long daysBetween = DAYS.between(dateBefore, dateAfter);
尝试使用TreeSet.floor()/ TreeSet.ceiling()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.