2011-07-29 3 views
1

, 내가 다른 결과를 얻을 : Fri Jul 29 13:55:49 CEST 2011다른 날짜/

: 일반 자바에서

System.out.println(new Date(1311940549187l).toString());

  • 을,이 출력을 얻을 Fri Jul 29 11:55:49 GMT+00:00 2011

: 안드로이드에서
  • ,이 출력을 얻을

    시간대와 관련이 있다는 것을 알고 있습니다. 그러나 나는 정말로 같은 결과물을 얻을 필요가 있습니다. Long 값을 기반으로 Date 개체를 생성하고 두 환경에서 같은 날짜를 얻으려면 어떻게해야합니까?


    편집 : 이미하여 SimpleDateFormat을 사용하여 두 날짜 시간 오프셋 2 시간이있다. 오프셋을 제거하는 방법을 알려주십시오. new SimpleDateFormat("MM-dd-yyyy HH:mm")

  • 답변

    4

    날짜가 두 환경에서 동일하지만, 두 가지 환경이 다른 시간대로 구성되어 있기 때문에 toString()가 다른 결과를 제공합니다

    이 내가하여 SimpleDateFormat을 사용하는 방법입니다.

    특정 시간대의 날짜를 포맷하려면 SimpleDateFormat을 사용하고 시간대를 특정 값 (예 : GMT)으로 설정하십시오.

    UPDATE :

    TimeZone gmt = TimeZone.getTimeZone("GMT"); 
    SimpleDateFormat format = new SimpleDateFormat("..."); 
    format.setCalendar(Calendar.getInstance(gmt)); 
    
    +0

    내 편집 작동 – Joel

    +0

    를 참조하십시오! 고마워! – Joel

    1

    당신은 SimpleDateFormat를 사용하고주는 무엇 안드로이드의 출력과 일치하는 자바 코드를 변환 할 수 있습니다.

    SimpleDateFormat

    또는 그이 반대 (안드로이드는 자바에 맞게 변환)

    Android SimpleDateFormat

    +0

    내 편집을 참조하십시오 – Joel

    +0

    정확하게 모리스가 대답 한 내용 일 수 있습니다. – sealz

    1
    dFormat = new SimpleDateFormat("MM-dd-yyyy HH:mm") 
    TimeZone tz = TimeZone.getTimeZone("GMT:00"); 
    dFormat .setTimeZone(tz); 
    
    +0

    내 편집을 참조하십시오. – Joel

    +0

    나는 답변을 편집했습니다. –