我目前正在使用带有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()返回的值。

07-24 09:52