2011-08-22 11 views
1

채울 클래스를 기반으로 xml 응답을 만드는 Tomcat 서버 앱이 있습니다.javax.xml로 날짜 형식 출력 변경

@XmlRootElement 
public class Login { 

    private String mLoginUserID; 
    private String mLoginPassword; 
    private Date mRecordChangeDateTime; 

... 

@XmlElement(name = "recordChangeDateTime") 
public Date getRecordChangeDateTime() { 
    return mRecordChangeDateTime; 
} 

결과 XML 출력은 다음과 같습니다 : 클래스의

하나는 날짜 필드가 나는 알아 내기 위해 노력하고

<recordChangeDateTime>2011-08-02T21:03:00-04:00</recordChangeDateTime> 

부부 문제를 ...

1) 날짜를 현지 시간대로 변환하면 날짜는 UTC로 처리되지만 javax.xml이 출력하면 표준 시간대 변환이 적용됩니다.

2) 날짜 형식을 구성하려고합니다. 내 표준 형식은 내 클라이언트 장치에서 "yyyy-MM-dd HH : mm : ss"이며 XML 응답에서도이 형식을 사용하고자합니다.

나는 많은 시간을 연구하고이 작업을 시도해 왔으며, SimpleDateFormat, XMLGregorianCalendar 등 다양한 변형을 시도했다. 그러나 어쨌든 출력을 변경하지 않는다. 확실하지 않다. 프로그래밍 방식으로 날짜 출력을 구성 할 수있는 주석 또는 다른 것이 있으면?

어떤 통찰력이라도 대단히 감사하겠습니다! 감사합니다.

+0

이 답변은 http://stackoverflow.com/questions/4687188/how-to-convert-dateactionscript-3-to-java-util-date-through-a-xml/4694496#4694496입니다. XmlAdapter) –

+0

감사합니다. RC, 링크가 완벽 했어. 매력처럼 작동 했어. – Telegard

+0

timeZone 변환 문제에 대한 빠른 업데이트는 데이터베이스에서 날짜를 가져 오는 데 사용한 recordset.getDate ("field") 메서드와 관련이 있습니다. UTC로 설정된 Calendar 객체를 추가하고 using recordset.getDate ("field", cal)는 시간대 변환을 완화했습니다. 건배! – Telegard

답변

2

이것은 ISO8601 형식입니다.

here의 윤곽대로 XmlJavaTypeAdapter을 사용하려고합니다. 이렇게하면 해당 요소의 모든 유형 변환을 처리하는 XmlAdapter을 지정할 수 있습니다. 원하는 경우 날짜를 구문 분석하고 서식을 지정하는 사용자 지정 항목을 제공 할 수 있습니다.