String test = "21/04/2013";
fmt = DateTimeFormat.getFormat("MM/dd/yyyy");
Date dateTest = fmt.parse(test);
Window.alert(fmt.format(dateTest));
그리고 경고 상자가
09/04/2014
대신
21/04/2013
왜
의 날짜를 표시 한을 반환?
String test = "21/04/2013";
fmt = DateTimeFormat.getFormat("MM/dd/yyyy");
Date dateTest = fmt.parse(test);
Window.alert(fmt.format(dateTest));
그리고 경고 상자가
09/04/2014
대신
21/04/2013
왜
의 날짜를 표시 한을 반환?
다른 사람들이 이미 말했듯이, 그것은 당신의 패턴 때문입니다. 그들이 말하지 않는 것은 입니다. 이유는입니다.
MM/dd/yyyy
으로 21/04/2013
을 구문 분석, DateTimeFormat
는 날짜 분해됩니다
Month Day of month Year 21 4 2013
을하고 그 다음에 유효한 날짜를 만드는 일을 조정할 수 있습니다. 그렇게하려면 월 부분이 12
에서 잘립니다 나머지 (그래서 일시적 날짜가 12 월 4, 2013입니다) (21-12 = 9)는 다음 9 월 4 2014을에지도 추가 형식에 따라 09/04/2014
으로 표시됩니다.
21/04/2013
을 표시하려고했지만 형식은 MM/dd/yyyy
입니다. 그것은 dd/MM/yyyy
그래서 다음과 같이 변경해야합니다 : 당신은 월과 일 반대하고
String test = "21/04/2013";
fmt = DateTimeFormat.getFormat("dd/MM/yyyy");
Date dateTest = fmt.parse(test);
Window.alert(fmt.format(dateTest));
.
String test = "21/04/2013";
fmt = DateTimeFormat.getFormat("dd/MM/yyyy");
Date dateTest = fmt.parse(test);
Window.alert(fmt.format(dateTest));
흠. 나는 여기에서 명백한 예외를 던지고 이런 종류의 작업을 위해 롤 메서드를 사용하는 것을 선호한다. 그것은 그러한 질문을 피했을 것입니다. – Gab
그건 정말 당혹 스러웠습니다. 답변 해 주셔서 감사 드리며 모두 +1했습니다. 예, 예외는 저에게 질문을 저장했을 것입니다 :) – Mike
이 동작을 피할 방법이 있습니까? – sandris