解析正则表达式日期

时间:2012-03-12 18:50:31

标签: java android regex validation

我正在尝试解析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的情况下只使用正则表达式

2 个答案:

答案 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