java - 转换日期格式不起作用

标签 java date jdatechooser

大家好,我已经在这个问题上研究了 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);   }

最佳答案

格式 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 组件,因此可能有更好的方法来获取或设置组件的格式。

关于java - 转换日期格式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25223728/

相关文章:

php - MySQL 如何选择 n 天后的日期,n 是 'duration' 列中存在的值

java - 使用 jYearChooser 和 jMonthChooser

java - 从 jdatechooser 选择日期并在文本字段中自动显示年龄

java - 迭代 Collection,避免在循环中删除对象时出现 ConcurrentModificationException

java - JPA 实体中的枚举类型字段

java - 正则表达式 - 包括字符串 : java

java - JodaTime - 2 个日期之间每月的天数

java - 找不到 GlideApp

javascript - 如何在 JavaScript 中格式化日期?

java - Toedter 从 JDateChooser 获取日期