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'方法,这些方法对默认格式和区域设置保持一致,这样可以为您节省像这样的问题。 –