我正在尝试解析java上的字符串。 我有的类型是
EEE, dd MMM yyyy kk:mm:ss z
喜欢
Sat, 10 Mar 2012 20:01:27 +0200
或者它可以没有空间
Sat,10 Mar 2012 20:01:27 +0200
我希望得到像这样的字符串
kk:mm dd/MM/yyyy
非常感谢! 你能举例说明如何在没有formatdate的情况下只使用正则表达式
答案 0 :(得分:1)
使用SimpleDateFormat
:
SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss Z");
Date date = formatter.parse("Sat, 10 Mar 2012 20:01:27 +0200");
SimpleDateFormat out = new SimpleDateFormat("kk:mm dd/MM/yyyy");
String output = formatter.format(date);
答案 1 :(得分:1)
您当然可以编写正则表达式来执行此操作,但为什么不使用SimpleDateFormat.parse和SimpleDateFormat.format?
如果你接受两种不同的格式,你可以在try / catch中进行第一次解析,在ParseException的catch块中,你可以进行第二次检查。
http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html