2013-08-17 46 views
0

我正在開發我的MySQL項目,並遇到一個問題。我製作了一個顯示當前日期和時間的JSpinner。現在我想將這個日期和時間保存在一個datetime變量中供以後使用,但問題是當我將JSpinner的值保存到我的datetime變量中時,它不是'YYYY-MM-DD HH:MM:SS'格式。而不是我的datetime變量包含此:'8月17日19:07:03 CEST 2013'。我只想以經典'YYYY-MM-DD HH:MM:SS'格式保存數字,因爲我的服務器上的數據庫只接受該格式的數據,但我不知道如何投射它。請幫忙!如何從Java JSpinner中僅獲得年,月,日,荷魯斯和秒

這裏是我的代碼:

String datum_vrijeme; 
SpinnerDateModel s1 = new SpinnerDateModel(); 
spinner1 = new JSpinner(s1); 
JSpinner.DateEditor d1 = new JSpinner.DateEditor(spinner1, "yyyy/MM/dd HH:mm:ss"); 
spinner1.setEditor(d1); 
Object sp = spinner1.getValue(); 
datum_vrijeme=sp.toString(); 

回答

1

你可以得到java.util.Date對象,這是一個更接近你的MySQL數據庫,而不是字符串。

Date date = (Date) spinner1.getValue(); 
+0

很抱歉,但我使用JDBC連接器,我需要寫我的SQL查詢,所以我需要讓我的字符串格式日期時間,所以我可以用我的查詢字符串,最終執行它來更新我的數據庫行串連它。 .. –

+1

您應該按照Martijn的建議來做,並將Date對象作爲[PreparedStatement](http://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html)的參數傳遞。 – VGR

+0

@MahirDuraković:這是不好的做法!搜索PreparedStatements和SQL注入,你會知道爲什麼。 Prepared Statements支持Date對象。 –

相關問題