Java解析数据字符串Android
我想解析一个字符串使用Java SimpleDateFormat。 我的字符串是:Java解析数据字符串Android
2013年2月23日下午10点十二分52秒
以oracle的Javadoc,我写了下面图案:
MM/DD/YYYY KK :mm:ss a
恕我直言,我不确定PM(aa),我tryied也只'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();
}
可能有人帮助我?
我解决了它。我没有说我的“2/23/2013 10:12:52 PM”字符串由Json库组成......也许它不是作为整个字符串构建的,而是由字符组成的,这可能是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!
上一个测试项目作为Java应用程序运行时,它的工作原理:
确保您导入正确的库在你的Android项目。
对不起,SimpleDateFormat是一个标准的Java类,它不需要外部库。 – Emaborsa 2013-02-25 18:12:30
如果您的格式为“MM/...”,那么您的日期将以“02/23 ...”开头。
只能用一个“M”来尝试。
同一天的部分,如果你打算有2/1/2013然后只放一个'd'。把两个“D”和“M”放在一起,如果你有02/01/2013 – 2013-02-23 23:32:27
我在一个普通的新的Android活动项目中运行他的代码,它可以工作。 1或2个M无关紧要。结果是:“Sat Feb 23 22:12:52 GMT + 00:00 2013” – 2013-02-23 23:53:04
我尝试了M和MM。在一个简单的java项目中,具有单个字符2的日期也可以通过带MM的模式来识别。 但是,我做了一些测试使用M或MM,但它不起作用。 – Emaborsa 2013-02-25 18:13:22
就像我下面说的,你的代码在新的Android活动项目中工作得很好。我自己试了一下,logcat报道:“Sat Feb 23 22:12:52 GMT + 00:00 2013”这是正确的。 – 2013-02-25 19:31:13