将 LocalDate 和 LocalTime 转换为 java.util.date 的最佳方法是什么?

What's the best way to convert LocalDate and LocalTime to java.util.date?

我有一个 org.threeten.bp.LocalDate 和一个 org.threeten.bp.LocalTime,我确实需要一个 java.util.date 实例。什么是最好的方法来实现这一点。我查看了 DateTimeUtils 但没有找到合适的解决方案。

生活可以如此简单:

Date date = Date(localDate.year,localDate.monthValue,localDate.dayOfMonth,localTime.hour,localTime.minute, localTime.second)

编辑:哦等等....这已被弃用!所以换个方案会更好!

这是更好的解决方案,不使用已弃用的东西,而是使用助手 class DateTimeUtils:

// your input (example)
LocalDate date = LocalDate.of(2015, 4, 3);
LocalTime time = LocalTime.of(17, 45);

// the conversion based on your system timezone
Instant instant = date.atTime(time).atZone(ZoneId.systemDefault()).toInstant();
Date d = DateTimeUtils.toDate(instant);
System.out.println(d); // Fri Apr 03 17:45:00 CEST 2015

您需要一个时区才能进行此转换。我在上面给出的示例中选择了系统时区,但您可以根据需要自由调整时区。