Joda时间通过休眠保存无效日期

时间:2017-11-02 19:49:36

标签: java hibernate jodatime

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

以下是代码,

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" for date1

1 个答案:

答案 0 :(得分:0)

找到如下解决方案,

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)