Getting error: from(java.time.Instant) in Date cannot be applied to (org.threeten.bp.instant)
Getting error: 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)
我正在尝试转换
- 本地日期至今
- 日期为 LocalDate
您的代码基本上是正确的,可以与 java.time.LocalDate
一起使用,只是不能与 org.threeten.bp.LocalDate
中相同的 class 的实现一起使用。所以你的选择有两个:
- 将所有导入更改为使用
java.time
而不是 org.threeten.bp
并停止使用反向端口。
- 使用
org.threeten.bp.DateTimeUtils
在旧版 date-time classes 和 ThreeTen Backport 中的 classes 之间进行转换。
选项 2 的示例:
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 was converted to Tue Jun 25 00:00:00 CEST 2019
DateTimeUtils
也有一个toInstant(Date)
方法进行相反的转换。
我正在尝试将 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)
我正在尝试转换
- 本地日期至今
- 日期为 LocalDate
您的代码基本上是正确的,可以与 java.time.LocalDate
一起使用,只是不能与 org.threeten.bp.LocalDate
中相同的 class 的实现一起使用。所以你的选择有两个:
- 将所有导入更改为使用
java.time
而不是org.threeten.bp
并停止使用反向端口。 - 使用
org.threeten.bp.DateTimeUtils
在旧版 date-time classes 和 ThreeTen Backport 中的 classes 之间进行转换。
选项 2 的示例:
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 was converted to Tue Jun 25 00:00:00 CEST 2019
DateTimeUtils
也有一个toInstant(Date)
方法进行相反的转换。