Java 使用SpinnerDateModel仅返回时间

Java 使用SpinnerDateModel仅返回时间,java,swing,jspinner,Java,Swing,Jspinner,我目前正在使用带有JSpinner的SpinnerDateModel在我的JavaSwing应用程序中设置时间。下面是我的代码: shiftTime = new JSpinner(new SpinnerDateModel()); JSpinner.DateEditor de_shiftTime = new JSpinner.DateEditor(shiftTime, "HH:mm:ss"); shiftTime.setEditor(de_shiftTime

我目前正在使用带有JSpinner的SpinnerDateModel在我的JavaSwing应用程序中设置时间。下面是我的代码:

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()或其他方法来删除结果中的日期?非常感谢您的帮助!谢谢!:-)

您可以使用将其转换为所需的输出:

Date date=(Date)shiftTime.getValue();
SimpleDateFormat format=new SimpleDateFormat("HH:mm:ss");
System.out.println(format.format(date));
返回
对象
,您只需打印默认情况下返回的值
日期#toString()

,您可以使用该值将其转换为所需的输出:

Date date=(Date)shiftTime.getValue();
SimpleDateFormat format=new SimpleDateFormat("HH:mm:ss");
System.out.println(format.format(date));
返回
对象
,您只需打印默认情况下返回的值
日期#toString()

如果您正在使用--而且您应该知道java日期库已严重损坏,您的代码如下所示:

DateTime date = new DateTime((Date)shiftTime.getValue());
ISODateTimeFormatter fmt = ISODateTimeFormatter.timeNoMillis();
String dateAsString = fmt.print(date);
System.err.println(dateAsString);
如果您需要进一步的帮助,请留下评论。

如果您正在使用--而且您应该这样做,因为java日期库严重损坏,您的代码将如下所示:

DateTime date = new DateTime((Date)shiftTime.getValue());
ISODateTimeFormatter fmt = ISODateTimeFormatter.timeNoMillis();
String dateAsString = fmt.print(date);
System.err.println(dateAsString);

如果需要进一步的帮助,请留下评论。

假设数据库字段是TimeStamp,为什么不从JSpinner返回的值创建java.sql.TimeStamp?我目前正在使用varchar将时间存储在数据库中!但是无论如何还是要感谢:-)假设数据库字段是TimeStamp,为什么不从JSpinner返回的值创建java.sql.TimeStamp呢?我目前正在使用varchar在数据库中存储时间!不过还是要谢谢你:-)