簡體   English   中英

SimpleDateFormat ParseException:無法解析的日期錯誤

[英]SimpleDateFormat ParseException: Unparseable date Error

我正在從XML解析這個日期格式:=>“ 2011-12-06T07:41:14.016 + 00:00 ”,我收到此錯誤:

  • W / System.err(574):java.text.ParseException:Unparseable date:“2011-12-06T07:41:14.016 + 00:00”

我確定這是我正在使用的格式化聲明,但我無法弄清楚它應該是什么......

這是我正在使用的聲明:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZ:ss");

我得到了如何創建這個部分的格式:“ 2011-12-06T07:41:14 ....”,這是另一部分:=>“。 016 + 00:00 ”這就是我的循環。

我已經在這里尋找答案: Android SimpleDateFormat頁面 ,這里是Oracle SimpleDateFormat頁面 ,但我擔心我遺漏了一些基本的東西......

您是否對該特定日期格式的正確格式聲明或相關資源有任何建議?

非常感謝提前!

“Z”模式匹配+0000而不是+00:00,因此如果在解析之前刪除最后一個“:”,那么它將起作用。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZ");
try {
  Date myDate = sdf.parse( "2011-12-06T07:41:14.016+00:00".replaceAll( "([0-9\\-T]+:[0-9]{2}:[0-9.+]+):([0-9]{2})", "$1$2" ) );
  System.out.println( myDate );
} catch (ParseException e) {
  e.printStackTrace();
}
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"    2001-07-04T12:08:56.235-0700

:最后的ss看起來不正確

作為我鏈接的問題中的答案之一,您可以使用

String string = "2011-12-06T07:41:14.016+00:00";
Calendar cal = DatatypeConverter.parseDateTime(string);

在Java中解析XML dateTime的最佳方法是什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM