public static void main(String[] args) {
Date now = new Date();
String dateString = now.toString();
System.out.println(" 1. " + dateString);
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
try {
Date parsed = format.parse(dateString);
System.out.println(" 2. " + parsed.toString());
} catch (ParseException pe) {
System.out.println("ERROR: Cannot parse \"" + dateString + "\"");
}
System.out.println(" 3. " + format.format(now));
}
打印控制檯:代替java SimpleDateFormat?
1. Thu Feb 23 17:14:51 CET 2017
ERROR: Cannot parse "Thu Feb 23 17:14:51 CET 2017"
3. jeu. févr. 23 05:14:51 CET 2017
:
1. Thu Feb 23 17:14:51 CET 2017
2. Thu Feb 23 17:14:51 CET 2017
3. jeu. févr. 23 05:14:51 CET 2017
您沒有。 3表示您的系統區域設置爲法語,因此格式化程序無法識別「Thu Feb」,因爲它只需要法文名稱。 – Thomas
Bonjour,爲什麼你仍然在使用老式的Date類和SimpleDateFormat類嗎? 'java.time'中的新類(自Java 8以來)具有'toString'和'parse'方法,這些方法對默認格式和區域設置保持一致,這樣可以爲您節省像這樣的問題。 –