如何从JSpinner的变化格式的时间?(How change format time from j

2019-10-19 21:52发布

我用一个JSpinner的选择和节省时间。

我想进入的开始时间在数据库中的任务。 但是,这节省了数据库的格式是这样的:星期二4月15日17点24分56秒BST 2014

我想在HH:MM。

这是我用写在数据库中的数据的代码:

    public void UpdateTask() {
    try {
        Task t1 = new Task();
        t1.setIdTask(jTIdTask.getText());
        t1.setDate(jTDate.getText());

        ---->  t1.setHourBegin(jSpinner2.getValue().toString());  // This is what I need change

        TaskDao dao = new TaskDao();
        dao.updateTask(t1);

    } catch (SQLException ex) {
        Logger.getLogger(jTTask.class.getName()).log(Level.SEVERE, null, ex);
    }
}

DAO类

  public void updateTask(Taskst1) throws SQLException{
    String sql = "update Taskset idTask=?, date=?, hourBegin=? where idTask=?"; 
    PreparedStatement stmt = this.conexao.prepareStatement(sql);
    stmt.setString(1, st1.getIdTask());
    stmt.setString(2, st1.getDate());
    stmt.setString(3, st1.getHourBegin());
    stmt.setString(4, st1.getIdTask());

    stmt.execute();
    stmt.close();
    conexao.close();
}

形成


   public void UpdateTask() {
    try {
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
        Task t1 = new Task();
        t1.setIdTask(jTIdTask.getText());
        t1.setDate(jTDate.getText());

        String time = sdf.format(jSpinner2.getValue());
        t1.setHourBegin(time);

        TaskDao dao = new TaskDao();
        dao.updateTask(t1);

    } catch (SQLException ex) {
        Logger.getLogger(jTTask.class.getName()).log(Level.SEVERE, null, ex);
    }
}

Answer 1:

jSpinner2.getValue().toString()基本上要求任何返回对象String表示它,在这种情况下,你问一个Date对象给你传回它的默认String表示。

请记住, Date不具有格式的任何概念,它只是从unix新纪元的毫秒数的容器。

您将需要使用DateFormatter某种以格式Date从价值JSpinner到你想要的格式...

一个更好的解决办法是使用某种类型的日期/时间数据类型的数据库,你...

更新

将存储在JSpinnerDate的对象,它没有格式的概念。 您将需要使用某种DateFormatter采取从一直是一个Date来一直是一个String值,格式化你想要的方式。

Object value = jSpinner2.getValue();
if (value instanceof Date) {
    String time = new SimpleDateFormat("HH:mm").format(value);
    t1.setHourBegin(time);
} else {
    // Deal with the invalid value...
}


文章来源: How change format time from jSpinner?