gpt4 book ai didi

java - Joda betweenDays (LocalDate,LocalDate) 不适用

转载 作者:行者123 更新时间:2023-12-04 06:20:08 29 4
gpt4 key购买 nike

我在使用 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 之间的天数,我做错了什么?

最佳答案

你说的是 Joda-Time-class org.joda.time.LocalDate。当然,表达式 Days.daysBetween(ReadablePartial,ReadablePartial) 可以 process such an input without problems ,但你有问题吗?!这让我觉得你的导入可能是错误的。事实上:

你也用这个表达式:

DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH);

但该代码不是 Joda 代码,而是 Java-8 代码。因此,您显然混淆了不同的类 org.joda.time.LocalDatejava.time.LocalDate。这就是您的编译器所提示的。不要混合使用这两个库。它们不兼容,部分相同的名称也无济于事,反而会增加混淆。

解决方案: 完全放弃 Joda-Time,因为您使用的是 Java-8。代替 Days.daysBetween(...) 你可以使用:

long days = ChronoUnit.DAYS.between(date, date1);

关于java - Joda betweenDays (LocalDate,LocalDate) 不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29878936/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com