偏移 25 处无法解析的日期
Posted
技术标签:
【中文标题】偏移 25 处无法解析的日期【英文标题】:Unparseable date at offset 25 【发布时间】:2013-05-23 21:19:40 【问题描述】:我无法解决此问题。我正在尝试将日期字符串 2013-05-23T19:00:00GMT-00
解析为 yyyy-MM-dd'T'HH:mm:ssz
的 StandardFormat,但我总是在第 25 位得到 ParseException。
// Get a human readable format.
DateFormat dateFormat = DateTime.getStandardFormat();
// Subtract a full hour from the time passed in.
final int HOUR_IN_MINUTES = 3600;
DateTime dateTimeLess1Hour = aDateTime.minus(HOUR_IN_MINUTES, 0);
// Convert the DateTime, less exactly one hour, to a string.
String timeLess1String = dateFormat.format(DateTime.toDate(dateTimeLess1Hour));
// Split the string to distinguish the time part
String date = timeLess1String.substring(0, 10);
String time = timeLess1String.substring(11);
String[] hhMMss = time.split(":");
String hourOnHourDate = date + "T" + hhMMss[0] + ":00:00" + hhMMss[2].substring(2);
Date inDateFormat = null;
// Convert the string into a Date object
inDateFormat = dateFormat.parse(hourOnHourDate);
// Convert the Date into a DateTime object.
return new DateTime(inDateFormat);
错误消息显示无法解析日期:2013-05-23T19:00:00GMT-00
【问题讨论】:
尝试使用SimpleDateFormat,可能是DateTime有问题... GMT-00也应该是GMT-00:00 Dhrubajyoti,谢谢,我在字符串末尾添加了额外的 :00 并解决了错误。 【参考方案1】:位置 25 表示 GMT
部分的开头,这是您尝试使用字母 z
解析的部分。如果您确定您的时区将始终为GMT
,那么您可以将其作为固定字符串,如下所示:
yyyy-MM-dd'T'HH:mm:ss'GMT'
如果输入的时区有时会有所不同,则将其分开。
String zone = inputTime.substring(startPosition, endPosition);
并使用zone
字符串在单独的行中设置时区
【讨论】:
以上是关于偏移 25 处无法解析的日期的主要内容,如果未能解决你的问题,请参考以下文章
Django:TemplateSyntaxError:无法解析剩余部分:'|'来自“资格日期|”
ParseException:无法解析日期 - 类:java.text.DateFormat
错误代码:38 DB::Exception:无法解析日期:值太短:无法从字符串解析日期:执行“FUNCTION toDate()”时