2012-05-11 8 views
-2

У меня есть дата в формате: Thu- Mar 22 2012. Она получена в строковой переменной date1.I нужно преобразовать дату в строковой переменной в формат date.I попробовал код ccode, но не смог проанализируйте дату, пожалуйста, помогите.Преобразование строки в определенный формат даты

DateFormat formatter; 
Date formatted_date= null; 


formatter = new SimpleDateFormat("EEE-MM d yyyy"); 
try { 
     formatted_date= (Date) formatter.parse(date1); 
} catch (ParseException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
+1

В строке формата есть пробел после символа «-». – Kai

+0

Между вашим «Thurar» и вашим форматом есть пробел. Опечатка «EEE-MM»? – Roger

+0

Я пробовал, formatter = new SimpleDateFormat ("EEE-MM d yyyy"); Но получил ту же ошибку. – Anuradha

ответ

0
Thu- Mar 22 2012 
EEE- MMM dd yyyy 

Я думаю, что нужно что-то вроде этого

UPD: для форматирования даты:

SimpleDateFormat toStringFormatter = new SimpleDateFormat("EEE MMM dd yyyy"); 
String formattedDate = toStringFormatter.format(date); 

так parse() для String ->Date и format() для Date ->String

+0

formatter = new SimpleDateFormat («EEE- MMM d yyyy») ;. Он сработал. Спасибо. – Anuradha

+0

Еще одно сомнение в том, что у меня сейчас ... Разработанная дата имеет форму «Thu Mar 22 00:00:00 GMT + 05: 30 2012». Но как я могу получить ее как сам март 22 2012 года, в переменной типа даты? – Anuradha

+0

ну, если вы просто используете 'formatted_date.toString()', то вы получите дату в форме «Чт Мар 22 00:00:00 GMT + 05: 30 2012». Однако вы можете использовать формат даты, чтобы вывести дату в форме, которую вы предпочитаете. Я обновлю ответ. –

1

Изменить его следующий формат

EEE- MMM d yyyy 

Примечание пространство после - и MMM

2

Вам нужно три Ms 'МММ', чтобы разобрать месяцев аббревиатуру как 'Мар'. И, пожалуйста, проверьте пробелы после «EEE-».

+0

@ stacker: Спасибо .. это сработало..неработало «MMM» – Anuradha

0

Если уже опубликованные ответы не работают, то у вас наверняка есть проблема с локалью. Попробуйте следующее SimpleDateFormat:

formatter = new SimpleDateFormat("EEE- MMM d yyyy", Locale.ENGLISH); 
0

Я благодарю С данного режима и заданной даты по умолчанию символы в формате конструктора SimpleDateFormat локали. Примечание. Этот конструктор может не поддерживать все локали. Покрытие всей языковойинформации

public SimpleDateFormat(String pattern,Locale locale) 
    //local:Locale.ENGLISH 
    //default is not English 
    formatter = new SimpleDateFormat("EEE, MMM d, ''yy", Locale.ENGLISH); 
    try { 
     formatted_date= (Date) formatter.parse("Wed, Jul 4, '01"); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
} 
Смежные вопросы