DateFormatter 将 String 解析为 Date 给出了错误的格式

DateFormatter parse String to Date gives wrong format

我有如下一段代码:

System.out.println(array[9]);
Date d = df.parse(array[9]);
System.out.println(d.toString());

结果如下所示:

01.01.2017

Sun Jan 01 00:00:00 CET 2017

我的日期格式化程序:

DateFormat df = new SimpleDateFormat("dd.MM.yyyy",Locale.GERMANY);

所以我现在的问题是为什么我得到错误的格式。 第一个结果是一个字符串,我必须将其转换为日期。 但是我弄错了格式,不是德语格式 (dd.MM.yyyy)。

怎么了?

在您的示例中,如果您打算将 Date 转换为 String,则应使用 df.format(d)。默认 Date.toString() 方法将使用您无法控制的预定义格式。