2017-04-04 1 views
-4

나는 변환하고 싶습니다 :JAVA에서 joda 시간을 사용하여 ISO8601을 utc로 변환하려면 어떻게해야합니까?

2014-08-12T05:43:00-05:00 (YYYY-MM-DD"T"HH:MM:SS-OFFSET) 

사람 :

20140812104300Z (YYYYMMDDHHMMSSZ) 
+1

타임 스탬프가 맞지 않습니다. Z (UTC) 또는 -0500 중 하나이지만 둘다는 아닙니다. 또는 Z는 Zulu 시간을 나타내지 않는 타임 스탬프에서 리터럴 Z입니까? – dunni

+0

나는 Zulu 시간을 믿는다. – Deepak543

+0

그런 다음 오프셋이 의미가 없다. (UTC 타임 스탬프를 가지고 있다면 오프셋이 없다.) 또한, 이미 시도한 것을 보여줄 수 있습니까? – dunni

답변

0

마지막으로 가지고 :

import java.text.ParseException; 
import org.joda.time.DateTime; 
import org.joda.time.DateTimeZone; 

public class mydate { 

    public static void main(String[] args) throws ParseException { 
     // TODO Auto-generated method stub 

     java.util.Date date = new DateTime("2014-08-12T05:43:00-05:00").toDate(); 
     DateTime dateTimeUtc = new DateTime(date, DateTimeZone.UTC); // Joda-Time can convert from java.util.Date type which has no time zone. 
     String output = dateTimeUtc.toString().replace("-", "").replace("T", "").replace(":", "").substring(0,14)+"Z"; // Defaults to ISO 8601 format. 
     System.out.println(output); 

    } 

} 

입력 : 2014-08-12T05 : 43 : 00-05 : 00

출력 : 20140812104300Z

관련 문제