我想解析String
(YYYY-MM-dd HH:mm
)到Date
,但是得到的錯誤日期比預期的要晚。SimpleDateFormat解析「YYYY-MM-dd HH:mm」時產生錯誤的日期時間
CODE:
Date newDate = null;
String dateTime = "2013-03-18 08:30";
SimpleDateFormat df = new SimpleDateFormat("YYYY-MM-dd HH:mm", Locale.ENGLISH);
df.setLenient(false);
try {
newDate = df.parse(dateTime);
} catch (ParseException e) {
throw new InvalidInputException("Invalid date input.");
}
產地:
太陽12月30日08:30:00 EST 2012(錯誤)
我試着設置從寬關閉,但沒有運氣。
更新
感謝Sudhanshu的答案,它幫助我解決了Java轉換。當我將上述代碼的返回日期輸入到數據庫中時,我得到的日期正確,但時間始終爲00:00
。
ps.setDate(3, new java.sql.Date(app.getDate().getTime()));
對於更新,'java.sql.Date'僅僅是爲了一個日期,意味着SQL日期數據類型。從文檔:「要符合SQL DATE的定義,由java.sql.Date實例包裝的毫秒值必須通過在特定時區將小時,分鐘,秒和毫秒設置爲零來」標準化「哪個實例關聯。「 – 2017-06-21 18:22:25