2017-04-04 87 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是你的時間戳中的字面Z,它不表示祖魯時間? – dunni

+0

我相信它的祖魯時間 – 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

相關問題