Joda betweenDays (LocalDate,LocalDate) 不适用
Joda betweenDays (LocalDate,LocalDate) not applicable
我在使用 Joda daysBetween
功能时遇到问题。它一直告诉我
The method daysBetween(ReadableInstant, ReadableInstant) in the type Days is not applicable for the arguments (LocalDate, LocalDate)
当我尝试插入两个 localdate
项时。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH);
LocalDate date = LocalDate.parse(reviewDate, formatter);
Date dateNow = new Date();
LocalDate date1 = LocalDate.parse(dateNow.toString(),formatter);
int days = Days.daysBetween(date,date1).getDays();
我正在尝试获取 reviewDate
和当前日期之间的天数 date1
我做错了什么?
您应该使用以下方法之一将 LocalDate
转换为 DateTime
LocalDate::toDateTimeAtCurrentTime()
LocalDate::toDateTimeAtStartOfDay()
LocalDate::toDateTime( LocalTime )
LocalDate::toDateTime( LocalTime , DateTimeZone )
然后将 DateTime
传递给 daysBetween()
方法。
你说的是 Joda-Time-classorg.joda.time.LocalDate
。当然,表达式Days.daysBetween(ReadablePartial,ReadablePartial)
可以process such an input without problems,但是你有问题吗?!这让我觉得你的导入可能是错误的。事实上:
你也用这个表达:
DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH);
但该代码不是 Joda 代码,它是 Java-8 代码。所以你显然混淆了不同的 classes org.joda.time.LocalDate
和 java.time.LocalDate
。这就是您的编译器所抱怨的。不要混合使用这两个库。它们不兼容,部分相同的名称也无济于事,反而会增加混乱。
解决方案: 完全放弃 Joda-Time,因为您正在使用 Java-8。您可以使用:
而不是 Days.daysBetween(...)
long days = ChronoUnit.DAYS.between(date, date1);
我在使用 Joda daysBetween
功能时遇到问题。它一直告诉我
The method daysBetween(ReadableInstant, ReadableInstant) in the type Days is not applicable for the arguments (LocalDate, LocalDate)
当我尝试插入两个 localdate
项时。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH);
LocalDate date = LocalDate.parse(reviewDate, formatter);
Date dateNow = new Date();
LocalDate date1 = LocalDate.parse(dateNow.toString(),formatter);
int days = Days.daysBetween(date,date1).getDays();
我正在尝试获取 reviewDate
和当前日期之间的天数 date1
我做错了什么?
您应该使用以下方法之一将 LocalDate
转换为 DateTime
LocalDate::toDateTimeAtCurrentTime()
LocalDate::toDateTimeAtStartOfDay()
LocalDate::toDateTime( LocalTime )
LocalDate::toDateTime( LocalTime , DateTimeZone )
然后将 DateTime
传递给 daysBetween()
方法。
你说的是 Joda-Time-classorg.joda.time.LocalDate
。当然,表达式Days.daysBetween(ReadablePartial,ReadablePartial)
可以process such an input without problems,但是你有问题吗?!这让我觉得你的导入可能是错误的。事实上:
你也用这个表达:
DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH);
但该代码不是 Joda 代码,它是 Java-8 代码。所以你显然混淆了不同的 classes org.joda.time.LocalDate
和 java.time.LocalDate
。这就是您的编译器所抱怨的。不要混合使用这两个库。它们不兼容,部分相同的名称也无济于事,反而会增加混乱。
解决方案: 完全放弃 Joda-Time,因为您正在使用 Java-8。您可以使用:
而不是Days.daysBetween(...)
long days = ChronoUnit.DAYS.between(date, date1);