我正在使用JTable
创建一个Swing应用程序,您可以在其中一列中输入日期和时间。我正在使用JDateChooser
和JComboBox
下拉菜单,这意味着我必须以一种笨拙的方式转换为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是我的系统时间。我有一个单独的功能可以读取用户的时间,但是即使禁用它,问题仍然存在。我认为无法在此处输出系统时间,因此任何人的想法都将不胜感激。
答案 0 :(得分:0)
问题在于此行:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm");
此行表示从JDateChooser接收的值是以dd.MM.yyyy HH:mm格式接收的,我没有意识到。要解决此问题,我只是从上面的代码中删除了“ HH:mm”。