[英]How to insert current date into MySQL database use Java?
我想將當前日期和時間插入到定義為datetime類型的列中。
我輸入以下代碼:
java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime());
PrepStmt.setDate(1, sqlDate);
當我檢查數據庫時,我發現日期插入正確,但時間是:00:00:00。 修復是什么?
由於您使用datetime
作為列類型,因此需要使用java.sql.Timestamp
來存儲日期,並使用PrepareStatement.setTimestamp
來插入它。
試試這個: -
java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);
你使用的是錯誤的方法。 您可以使用PreparedStatement#setTimestamp(int parameterIndex, Timestamp x)
代替。
您需要使用的是setTimestamp(int parameterIndex,Timestamp x)方法而不是setDate()方法。
您可以設置時間戳的方法之一如下:
Timestamp timestamp = new Timestamp(new Date().getTime());
然后,您可以將參數設置為:
PrepStmt.setTimestamp(1, timestamp);
聽起來像你需要的
java.sql.Timestamp
您使用java.sql.Date
僅用於處理日期而不記錄時間的那個。 或者,如果您只想要時間,則可以使用java.sql.Time
。
嘗試使用setTimestamp作為
PrepStmt.setTimestamp(1, sqlDate);
java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);
我用這個解決了..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.