我使用 Java 8 DatePicker(我喜欢它)。
这个类使用java.time.LocalDate
.
Persistence
另一方面使用(仅在 2014 年 3 月)java.util.Date
。
LocalDate2Date
涉及但可行(见下文),但我找不到执行 Date2LocalDate 的方法。
....
entityClassFromDatabase.setDate2b(LocalDate2Date(datepicker.getvalue()));
....
}
private java.util.Date LocalDate2Date(LocalDate localDate) {
[validation code omitted]
ChronoLocalDateTime cldt = localDate.atStartofDay();
Instant instant = cldt.toInstant(ZoneOffset.from(Instant.now().atZone(ZoneId.systemDefault())));
return Date.from.(instant);
}
我需要的是类似的东西;
datepicker.setvalue(Date2LocalDate(entityClassFromDatabase.getDate2b());
我已经看到建议 new LocalDate(date); 的答案。和变体,但这些不起作用;
最新的努力是“转换” via java.time.Instant
,但尽管LocalDate2Date
打印中使用的“即时”与下面使用的即时相同:
Instant instant = entityClassFromDatabase.getDate2b.toinstant();
LocalDateTime xx = LocalDateTime.from(instant);
在下面抛出异常:
java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: 2014-03-27T23:00:00Z of type java.time.Instant
我迷路了