意外将数据包含在不应包含的字符串中

时间:2019-02-05 23:33:39

标签: java swing jtable jdatechooser

我正在使用JTable创建一个Swing应用程序,您可以在其中一列中输入日期和时间。我正在使用JDateChooserJComboBox下拉菜单,这意味着我必须以一种笨拙的方式转换为String:

Object[] row = new Object[2];

String Name = jTextField1.getText();

Object Hour = jComboBox1.getSelectedItem();
Object Minute = jComboBox2.getSelectedItem();
String Time1 = Hour.toString();
String Time2 = Minute.toString();

SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm");
String theTime = (Time1+ ":"+ Time2);
String theDate = dateFormat.format(jDateChooser1.getDate());
String together = (theDate + " " +theTime);

row[0] = Name;
row[1] = together;

model.addRow(row);

问题是,如果我输入“ 21.02.2019 20:00”,输出将是“ 21.02.2019 00:25 20:00”,而00:25是我的系统时间。我有一个单独的功能可以读取用户的时间,但是即使禁用它,问题仍然存在。我认为无法在此处输出系统时间,因此任何人的想法都将不胜感激。

1 个答案:

答案 0 :(得分:0)

问题在于此行:

SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm");

此行表示从JDateChooser接收的值是以dd.MM.yyyy HH:mm格式接收的,我没有意识到。要解决此问题,我只是从上面的代码中删除了“ HH:mm”。