2012-03-12 5 views
1

Я пытаюсь разобрать строку на 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

Я сделал несколько примеров, но еще не знаете, как конвертировать МММ ММ Я думаю, чтобы начать [A-Za-Z] + [0-9] + и так далее, но я не думает, что его право сделать –

+0

http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html может помочь – zapl

ответ

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

Вы можете, конечно, написать регулярное выражение, чтобы сделать это, но почему бы не просто использовать SimpleDateFormat.parse и SimpleDateFormat.format?

Если вы принимаете два разных формата, вы можете выполнить первый синтаксический анализ в try/catch и в блоке catch для ParseException, вы можете выполнить вторую проверку.

http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

Смежные вопросы