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