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' 메소드가 있으므로이 문제와 같은 문제를 해결할 것입니다. –