joda time通过hibernate保存无效日期

Joda time saves invalid date through hibernate

我在将日期从字符串转换为日期时间时存储日期时遇到问题。

下面是代码,

import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

String date1 = "2017-11-02";

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd");

someHibernateMethod.setTransactionDate1(formatter.parseDateTime(date1));
someHibernateMethod.setTransactionDate2(DateTime.now());

date1 保存为 - “2017-11-01 19:00:00.000”,但是当我使用 DateTime.Now() 保存日期时,它保存正确。

我期待 "2017-11-02 00:00:00.000" 日期 1

找到如下解决方案,

String date1 = "2017-11-02";

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd");
LocalDate localDate = formatter.parseLocalDate(date1);
DateTime newDate= localDate.toDateTime(new LocalTime());
someHibernateMethod.setTransactionDate1(newDate)