转换日期格式不起作用

时间:2014-08-09 22:31:03

标签: java date jdatechooser

你好我已经在这个问题上工作了4个小时,我似乎无法解决它。 我希望使用JDateChooser选择的日期转换为这种格式dd-mm-yyyy,但我无法做到这一点。 这是我写的,但它打印日期为:星期四8月21日00:00:00西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);   }

1 个答案:

答案 0 :(得分: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)。
  • 使用格式方法打印日期,例如:df.format(date);

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