以 dd-MMM-yy HH:mm 格式减去两个日期

Subtract two dates in dd-MMM-yy HH:mm format

日期看起来像:

25/apr/18 10:24 AM

这是我正在尝试使用的代码

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd-MMM-yy HH:mm");
LocalDate open = LocalDate.parse(openTime.toString(), dtf);
LocalDate now = LocalDate.now();
now = dtf.format(now); // <-- Can't do this as it's apparently a string and not a LocalDate
elapsedDays = ChronoUnit.DAYS.between(now, open)

首先,从您的示例来看,您的模式需要支持 AM/PM,其次,您现在不需要解析,因为您想将它用作 LocalDate 实例。

String input = "22/Apr/18 10:24 AM";
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MMM/yy hh:mm a", Locale.ENGLISH);
LocalDate open = LocalDate.parse(input, dtf);
LocalDate now = LocalDate.now();

long diff = ChronoUnit.DAYS.between(open, now);