проблема, связанная с форматом даты - PullRequest
0 голосов
/ 31 марта 2011

привет У меня есть 2 даты ввода в другом формате, поэтому, пожалуйста, скажите, как их перебрать и конвертировать их в новый формат, используя if-else. Вот мой вклад: String first = "12 марта"; String second = "23 февраля 2010"; Я пытаюсь преобразовать эти разные форматы в новый формат.

Я использовал следующий код:

Date date=new Date();
//I used this format for Mar 12
DateFormat dateFormat1=new SimpleDateFormat("MMM dd"); 
// Mar 12 gets converted in follwing new format
DateFormat dateFormat2=new SimpleDateFormat("yyyy-MM-dd");  
//I used this format for Feb 23 2010
DateFormat dateFormat3=new SimpleDateFormat("MMM dd yyyy"); 
// Feb 23 2010 gets converted in follwing new format
DateFormat dateFormat4=new SimpleDateFormat("yy-MM-dd");

date=dateFormat1.parse("first");
first=dateFormat2.format(date);
date=dateFormat3.parse("second");
second=dateFormat4.format(date);

Теперь я столкнулся с проблемой, я не понимаю, как анализировать и преобразовывать их в новый формат, используя блок if-else.

Ответы [ 2 ]

2 голосов
/ 31 марта 2011

SimpleDateFormat.parse возвращает ноль в случае ошибки. Итак, вы можете сделать что-то вроде этого:

date = dateFormat1.parse(first, new ParsePosition(0));
if (date == null) {
  date = dateFormat2.parse(first, new ParsePosition(0));
}
2 голосов
/ 31 марта 2011

Используйте длина строки / без пробела в строке , чтобы различать форматы. [Поскольку у вас есть только два формата.]

...