簡體   English   中英

嘗試對字符串進行日期解析時發生ParseException

[英]ParseException while attempting String to Date parsing

我正在嘗試將此日期轉換為2013-03-04T12:08:52.74 + 08:00

formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Date date = formatter.parse(dateresult);

但這以一個例外結束

03-07 19:17:05.493: W/System.err(2006): java.text.ParseException: Unparseable date: "2013-03-04T12:08:52.74+08:00" (at offset 19)

我嘗試了這個 但是發生了同樣的異常。 有誰知道另一種(可能更好)的方法來做到這一點?

您可以使用joda-time。 它支持ISO8601標准。

喬達時代手冊

樣品:

DateTime dt = new DateTime("2013-03-04T12:08:52.74+08:00");
System.out.println(dt.toString());
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
System.out.println(
        fmt.parseDateTime("2013-03-04T12:08:52.74+08:00"));

采用:

formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS'Z'");

包含毫秒(.74)

如Baraky指出的那樣,您除了錯過了毫秒之外,在使用Java解析日期時,還會遇到ISO-8601時區問題。 這個問題已經解決了。

此外,除了@baraky的答案外,您輸入日期的時區格式也不符合格式字符串的規范。 您的格式字符串為“ Z”(文字字母Z)。 您的輸入字符串似乎格式為X。因此,您可能需要使用:

formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSX");

暫無
暫無

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

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