为什么跟随在Android 2.2上失败的任何想法...
java.text.ParseException:Unparseable date:2011-02-16 11:38:03.328 UTC
......虽然它在太阳JRE 1.6上工作正常吗?
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S z");
try
{
Date date = dateFormat.parse("2011-02-16 11:38:03.328 UTC");
}
catch (ParseException e)
{
e.printStackTrace();
}
如上所述离子评论,可以使测试更简单:
new SimpleDateFormat("z").parse("UTC")
这会抛出一个解析异常。我正在使用nexus one设备,android 2.2
答案 0 :(得分:2)
改为使用
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS z");
答案 1 :(得分:1)
我现在有一个解决方法:
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S 'UTC'");
try
{
Date date = dateFormat.parse("2011-02-16 11:38:03.328 UTC");
}
catch (ParseException e)
{
e.printStackTrace();
}
这使我至少可以解析Android 2.2中的日期。我的应用程序已被修改为尝试“yyyy-MM-dd HH:mm:ss.S'UTC'”然后尝试“yyyy-MM-dd HH:mm:ss.S z”如果第一个解析失败
感谢所有答案
答案 2 :(得分:0)
尝试像这样指定语言环境:
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S z", Locale.ENGLISH);
答案 3 :(得分:0)
我复制了这段代码并得到了例外...
试试我的代码
java.text.SimpleDateFormat format = new SimpleDateFormat(
"dd-MM-yyyy");
java.util.Calendar cal = Calendar.getInstance(new SimpleTimeZone(0,
"GMT"));
format.setCalendar(cal);
java.util.Date date = null;
try {
date = format.parse(EditProfile.dateOFBirth);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我希望这可以帮到你