1

大家好,我已经在这个问题上讨论了 4 个小时,但我似乎无法解决它。我希望使用 JDateChooser 选择的日期转换为这种格式 dd-mm-yyyy 但我不能这样做。这是我写的,但它将日期打印为:Thu Aug 21 00:00:00 WEST 2014。我希望它在 21-08-2014 打印这是我的代码:

public void addIns() {
    JTextField ch=(JTextField) dateChooser.getDateEditor().getUiComponent();
    SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
    try{
        Date date = df.parse(ch.getText());
        } catch(Exception e){System.out.println("wrong date");}
      System.out.println(date);   }
4

1 回答 1

2

格式Thu Aug 21 00:00:00 WEST 2014是 Date.toString 方法的默认格式。

所以,如果你期待:

System.out.println(date);

要打印 21-08-2014,那你就错了。

你可以:

  • 在 Java 8 中使用 LocalDate 和 LocalTime,并且有一个不错的 toString(但不会打印 21-08-2014)。
  • 使用 format 方法打印日期,例如:df.format(date);

而且,由于您使用的是 Swing 和 Swing 组件,因此可能有更好的方法来获取或设置组件的格式。

于 2014-08-09T22:35:10.347 回答