2013-08-17 22 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对象。 –

相关问题