tl; dr
myPreparedStatement.setObject(
… ,
myXGC.toGregorianCalendar()
.toZonedDateTime()
) ;
ja va.time
Cách tiếp cận hiện đại sử dụng các lớp java.time đã thay thế các lớp cũ phiền hà Date
, Calendar
và GregorianCalendar
.
Chuyển đổi từ các lớp cũ sang java.time.
GregorianCalendar gc = myXGC.toGregorianCalendar() ;
ZonedDateTime zdt = gc.toZonedDateTime();
đèo giá trị ngày thời gian tới cơ sở dữ liệu của bạn như ngày thời gian đối tượng chứ không phải là chuỗi.
Nếu trình điều khiển JDBC của bạn tuân thủ JDBC 4.2 trở lên, bạn có thể xử lý trực tiếp với các loại java.time.
myPreparedStatement.setObject(… , zdt) ;
Nếu trình điều khiển của bạn chưa tuân thủ, hãy chuyển đổi ngắn gọn sang loại java.sql.
myPreparedStatement.setTimestamp(… , java.sql.Timestamp.from (zdt.toInstant())) ;
Nguồn
2017-06-21 15:47:30
Một bản sao của http://stackoverflow.com/questions/882420/string-to-date-in-different-format-in-java – AurA
Bạn không định dạng timestamp trước khi chèn vào DB. Bạn sử dụng lớp java.util.Date. –