您的代码基本上是正确的,并且可以java.time.LocalDate
与org.threeten.bp.LocalDate
. 所以你的选择有两个:
- 将所有导入更改为使用
java.time
而不是org.threeten.bp
并停止使用反向端口。
- 用于
org.threeten.bp.DateTimeUtils
旧日期时间类和 ThreeTen Backport 中的类之间的转换。
选项 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 已转换为 2019 年 6 月 25 日星期二 00:00:00 CEST
DateTimeUtils
还有一种toInstant(Date)
反向转换的方法。
链接: DateTimeUtils
文档