2017-03-31 1 views
1

을 @JsonFormat SimpleDateFormat에 대한 설명서 : {"created_at":"2001-07-04T12:08:56.235-07:00"}하지만 Z 시간대 대신 {"created_at":"2017-03-31T15:42:44.923Z"}이 표시됩니다. 나는 X, XX, XXX을 시도했다. 각각은 Z 시간대를 표시한다. 그러나 yyyy-MM-dd'T'HH:mm:ss.SSSZ은 의도 한대로 콜론없이 +0000 시간대를 표시합니다. 나는 선택권을 놓쳤는가?잭슨 내가이 POJO가 예기치 않은 시간대 출력

+0

출력 내용을 이해하지만 실제로 출력물로 무엇을 기대합니까? +0000 대신 Z? –

+0

'2001-07-04T12 : 08 : 56.235 + 00 : 00' – yenox

답변

2

문서의 해당 부분을 읽으려면 날카로운 눈이 필요합니다. :).

즉, 패턴에서 'Z'는 RFC822 시간대 오프셋을 나타냅니다. 그것은 항상 'Sign TwoDigitHours Minutes'입니다. 그러나 X (또는 여러 개의 X)는 ISO8601 지정자를 나타내며 'Z'(ulu)를 포함하여 시간, 분 및 시간대 문자 기호가 포함 된 잘 알려진 조합이 될 수 있습니다. 실제로 GMT + 0 시간이 제공되면 +00 : 00 대신 'Z'로 직렬화되는 경향이 있습니다. 나는 이것이 바뀔 수 있다는 것을 알지 못한다. 또한 'Z'를 표준 시간대 패턴으로 사용하는 서식 지정자는 이 아니며의 구문 분석 표준 시간대 지정자입니다. 여기

더 : https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html#rfc822timezone

그러나, 나는 당신이 귀찮게해야 모르겠습니다. 표준에 대한 날짜 형식 인 ISO8601의 경우 모든 정상적인 파서가 모든 언어로 해당 항목을 선택할 수 있습니다.

+0

그런 세부 사항에 감사 드리며 실제로 Z가 +00 : 00으로 대체 될 수 없다는 동일한 결론에 도달했습니다. 그러나 당신이 진술 한대로, 나는 그것이 할 것이라는 점을 짐작한다. – yenox