我正在尝试使用Java SimpleDateFormat解析String。 我的字符串是:
2/23/2013 10:12:52 PM
作为oracle Javadoc,我写下了以下模式:
MM / dd / yyyy KK:mm:ss a
恕我直言,我不确定PM(aa),我也只尝试'a'或'aaa',但我总是得到ParseException。有趣的是,当它作为Java应用程序在测试项目上运行时,它可以工作:
当我在Android项目中运行它时,它不起作用:
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy KK:mm:ss a");
try {
Date data = formatter.parse("2/23/2013 10:12:52 PM");
System.out.println(data);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
有人能帮助我吗?
答案 0 :(得分:0)
在测试项目上作为Java应用程序运行时,它可以工作:
确保在Android项目中导入了正确的库。
答案 1 :(得分:0)
如果您的格式为“MM / ...”,则您的日期将以“02/23 ...”开头。
仅尝试使用一个“M”。
答案 2 :(得分:0)
我解决了。我没有说我的“2/23/2013 10:12:52 PM”字符串是由Json库组成的...也许它不是构建为整个字符串,而是char由char构成,这可能是SimpleDateFormat的一个问题。我尝试启动以下代码:
String data1 = "2/23/2013 10:12:52 PM"; //a string built by Json parser
String data2 = "2/23/2013 10:12:52 PM"; //created by hand as new String
System.out.println(data2.equals(data1));
它返回false!
解决方案:
String data1 = "2/23/2013 10:12:52 PM"; //a string built by Json parser
String data2 = "2/23/2013 10:12:52 PM"; //created by hand as new String
StringBuffer sb = new StringBuffer();
sb.append(data1);
System.out.println(data2.equals(data1));
现在它返回true!