2013-05-21 2 views
2

XML 문자열의 일부 날짜 데이터를 모델 객체의 계층 구조로 구문 분석하고 있습니다. 날짜는 10 자리의 초 형식입니다. 나는 ... 여기 안드로이드 : 초에서 변환 할 때 잘못된 날짜

public static Date getDateFromSecondsString(String seconds){ 
    try{ 
     long millis = Long.parseLong(seconds) * 1000; 
     Date date = new Date(millis); 
     return date; 
    } 
    catch(Exception ex){ 
     ex.printStackTrace(); 
    } 

    return null; 
} 

문제의 날짜 객체로 그 초를 변환하기 위해 아래의 방법을 사용

내가 런타임에 파싱 코드를 통해 단계 (즉에 대한 코드는 아래와 같습니다) , 날짜 변환 메소드가 예상 날짜를 리턴합니다.

Element startDateElt = eventElt.getChild("start_date"); 
if(startDateElt != null){ 
    startDateElt.setEndTextElementListener(new EndTextElementListener() { 
     @Override 
     public void end(String body) { 
      currEvent.startDate = DateTimeUtil.getDateFromSecondsString(body); 
     } 
    }); 
} 

그러나 모델 데이터 개체를 파싱 된 데이터로 채우면 날짜가 잘못되었습니다. 나는 XML을 구문 분석하는 시간과 내가 날짜를 표시하려면 시간과 날짜를 수정하는 것입니다 없는지 확인하기 위해 내 코드를 통해 보았다

Seconds: 1369206000, should be: 2013-05-22, unfortunately is: 2013-05-03 
Seconds: 1369292400, should be: 2013-05-23, unfortunately is: 2013-05-04 
Seconds: 1369551600, should be: 2013-05-26, unfortunately is: 2013-04-30 
Seconds: 1369638000, should be: 2013-05-27, unfortunately is: 2013-05-01 
Seconds: 1369724400, should be: 2013-05-28, unfortunately is: 2013-05-02 

: 다음은 몇 가지 예입니다. 자바/안드로이드의 Date 객체가 좀 엉망이지만, 그들은 이것처럼 행동 할까?

모든 의견이나 통찰력을 주시면 감사하겠습니다.

+0

기기에서 현재 날짜를 확인하십시오. 맞습니까? – tbruyelle

+0

'DateTimeUtil' 클래스의 출처는 어디입니까? – bwt

+0

@bwt : 그 클래스는 제 자신입니다. – mahdaeng

답변

0

은, 알고 보니 내가 대신 Date.toDate()를 사용하고 있어야 어디에 문제는 내가 어떤 장소에서 Date.toDay()을 것을을 사용 하였다. Grrr! Java의 Date 구현을 싫어합니다. 당신이 센트를주고,이 오늘()TODATE와() 혼동 될 수 있습니다 사람에 대한 경고가 될 수 있도록 당신의 모든

감사합니다.

관련 문제