获取错误:日期中的from(java.time.Instant)不能应用于(org.threeten.bp.Instant)
我正在尝试将获取错误:日期中的from(java.time.Instant)不能应用于(org.threeten.bp.Instant),java,type-mismatch,date-conversion,java.util.date,threetenbp,Java,Type Mismatch,Date Conversion,Java.util.date,Threetenbp,我正在尝试将org.threeten.bp.LocalDate转换为java.util.Date,我得到了问题标题中提到的错误 我使用以下方法进行转换: Date.from(currentDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); 错误: from(java.time.Instant) in Date cannot be applied to (org.threeten.bp.instant) 我正在努力改变信仰 本地日期到
org.threeten.bp.LocalDate
转换为java.util.Date
,我得到了问题标题中提到的错误
我使用以下方法进行转换:
Date.from(currentDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
错误:
from(java.time.Instant) in Date cannot be applied to (org.threeten.bp.instant)
我正在努力改变信仰
您的代码基本上是正确的,可以使用
java.time.LocalDate
,但不能在org.threeten.bp.LocalDate
中实现相同的类。因此,您有两种选择:
java.time
而不是org.threeten.bp
并停止使用backportorg.threeten.bp.DateTimeUtils
在遗留日期时间类和threeten Backport中的类之间进行转换 LocalDate currentDate = LocalDate.now(ZoneId.of("America/Whitehorse"));
Date d = DateTimeUtils.toDate(
currentDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
System.out.println("" + currentDate + " was converted to " + d);
刚才在我的计算机上运行时,此代码段打印:
2019-06-25转换为2019年6月25日星期二00:00:00 CEST
DateTimeUtils
还有一个用于相反转换的toInstant(Date)
方法
链接:我切换到
JodaTime
并完全删除了org.threeten.bp
库。但是谢谢你的回答。我会尝试一下,如果成功的话,我会接受答案。很高兴你找到了工作。Joda Time正式建议:现在要求用户迁移到java.Time
(JSR-310)。因此,您应该更喜欢java.time(内置或通过后端口)。更多关于。