我目前正在使用带有JSpinner的SpinnerDateModel来设置我的Java swing应用程序中的时间。下面是我的代码:
shiftTime = new JSpinner(new SpinnerDateModel());
JSpinner.DateEditor de_shiftTime = new JSpinner.DateEditor(shiftTime,
"HH:mm:ss");
shiftTime.setEditor(de_shiftTime);
//shiftTime.setValue(new Date()); // will only show the current time
shiftTime.setSize(108, 22);
shiftTime.setLocation(436, 478);
add(shiftTime);
但是,当我使用.getValue()方法将此选定时间添加到数据库中时(我正在使用mySql),该时间将与日期一起添加。我不想要日期,只想要时间,例如13:59:16
但是,我现在得到的是“ Thu Jan 01 13:59:16 SGT 1970”。
有没有办法覆盖新的SpinnerDateModel()或删除结果中日期的方法?任何帮助是极大的赞赏!谢谢! :-)
最佳答案
您可以使用SimpleDateFormat
将其转换为所需的输出:
Date date=(Date)shiftTime.getValue();
SimpleDateFormat format=new SimpleDateFormat("HH:mm:ss");
System.out.println(format.format(date));
JSpinner.getValue
返回Object
,而您只是打印默认情况下Date#toString()
返回的值。