Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 为什么在某些设备上解析日期会引发ArrayIndexOutOfBoundsException?_Date_Datetime_Java Me_Codenameone - Fatal编程技术网

Date 为什么在某些设备上解析日期会引发ArrayIndexOutOfBoundsException?

Date 为什么在某些设备上解析日期会引发ArrayIndexOutOfBoundsException?,date,datetime,java-me,codenameone,Date,Datetime,Java Me,Codenameone,我有以下字符串,表示符合ISO 8601的日期和时间: 2014-03-11T11:57:15+0000 我使用代码名One SimpleDataFormat类将该字符串解析为日期对象,然后填充日历对象: Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat(DateTimeFormats.ISO_8601); Date date = format.parse("201

我有以下字符串,表示符合ISO 8601的日期和时间:

2014-03-11T11:57:15+0000

我使用代码名One SimpleDataFormat类将该字符串解析为日期对象,然后填充日历对象:

Calendar calendar = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat(DateTimeFormats.ISO_8601);
Date date = format.parse("2014-03-11T11:57:15+0000");
calendar.setTime(date);
DateFormats.ISO_8601定义为

yyyy-MM-dd'HH:MM:ssZ

在Codename One模拟器上,此代码正确解析字符串并使用正确的值设置日期。这也适用于诺基亚C1-01。但是,从Java ME SDK在诺基亚206或DefaultCldcPhone1仿真器上运行相同的代码会导致调用format.parse时出现ArrayIndexOutOfBounds异常。超出该范围的堆栈跟踪已模糊:

java.lang.ArrayIndexOutOfBoundsException
- java.util.Calendar.get(), bci=98
- al.a(), bci=3
- al.a(), bci=18
- al.parse(), bci=1013
有人知道为什么会发生这种情况,我如何防止这种情况,或者建议一种不用编写自己的解析器就可以从字符串填充日历的方法吗


非常感谢任何帮助

我们建议使用
com.codename1.l10n.simpleDataFormat
类,而不是
java.text
包中的类。这将允许您在模拟器上重现问题,并对其进行更准确的调试