2015-08-27 71 views
-2

我插入的時候像這樣在我的數據庫:顯示日期時間把jsp

java.util.Date dt = new java.util.Date(); 
java.text.SimpleDateFormat sdf =new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
String currentTime = sdf.format(dt); 

Class.forName("com.mysql.jdbc.Driver").newInstance(); 
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/marmota", "root", "root"); 
Statement stmt = con.createStatement(); 
stmt.executeUpdate("INSERT INTO bids(id, bidder, time, price) VALUES ('" +id + "','" + username + "','" + currentTime + "','" + price + "')"); 

隨着getString("something")你可以從數據庫的字符串。但我怎樣才能得到我插入的當前時間?

注:我將currentTime保存爲DATETIME到我的數據庫中。

+2

,不存儲日期爲字符串您在DB – Jens

+1

「節點i currentTime的另存爲DATETIME在我的分貝。」你不可以。你可以將它保存爲一個字符串 – Jens

+0

你可以使用'date_format()'函數獲得'datatime'作爲字符串,查看'date_format()'的例子:http://www.w3schools.com/sql/func_date_format.asp – Srinu

回答

1

您不會將currentTime作爲DATETIME類型存儲在您的數據庫中。根據你的代碼,你將它保存爲string

String currentTime = sdf.format(dt); 

這不是一個好的做法,以時間存儲爲string時間DB,尤其是當你的系統在不同的時區的工作。

所以你最好聲明currentTime爲:

java.sql.Time currentTime = new Time(System.currentTimeMillis()); 

然後改變你的數據庫字段time的數據類型爲datetime類型。 然後你的代碼將工作。

+0

@ eXtacy數據庫中'time'字段的數據類型是什麼? –

+0

感謝您的快速回答。 datetime – eXtacy

+0

我按照你的建議保存了currentTime。我在插入查詢中得到異常。 – eXtacy

0

使用Joda Time更好的日期&及時處理Java的閱讀準備好的聲明