2013-03-18 49 views
3

當我從XML得到的DateTime它的XMLGregorianCalendar:的XMLGregorianCalendar爲DateTime的Java

2010-12-02T10:00:00 

比我做一個字符串,看起來像這樣:

2010-12-02 10:00:00 

但是,當我嘗試將其解析成經由一個可行的日期時間(joda.datetime):

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); 
DateTime dt = formatter.parseDateTime("2010-12-02 10:00:00"); 

它返回這個:

2010-12-02T10:00:00.000+01:00 

,我想它看起來像繩子,但不是作爲日期時間,所以我可以用它....

+3

你的問題是不明確的,你解析格式化的日期,並期待相同。那麼爲什麼你需要一個格式化程序,你可以直接使用輸入..? – 2013-03-18 11:18:32

+0

我不明白你想要做什麼。你想將一個日期解析爲一個Joda DateTime對象的字符串? – 2013-03-18 11:18:54

+0

是的,我的輸入是XMLGregorianCalendar,它看起來像:2010-12-02T10:00:00,最終我想要找到一個DateTime,看起來像2010-12-02 10:00:00 – Luc 2013-03-18 11:28:09

回答

1

我假設你找回日期字符串基本上dt.toString()

你需要使用您創建的格式化程序來格式化日期,否則格式不相關。試試這個:

System.out.println(formatter.print(dt)); 

當您設置使用它只使用你定義解析字符串格式格式化的日期......這不具有DateTime對象產生任何影響,所以你仍然需要使用將其轉換回字符串時的格式化程序

+1

formatter.format不存在 – Luc 2013-03-18 11:52:01

+0

我不想將它轉換回一個字符串,我希望DateTime具有我可以使用的格式 – Luc 2013-03-18 11:57:09

+0

@Luc我認爲你會感到困惑... DateTime對象是您可以使用的格式......當您將它寫爲字符串時它會以任何格式顯示它......它不一定是您寫入它的相同格式 – Edd 2013-03-18 12:01:19