2015-03-17 4 views
-1

Я хочу проанализировать строку из строки на дату, дата имеет формат, такой как Tuesday March 19,2015. Я хочу анализировать и форматировать его как формат yyyy-dd-mm. Приведенный ниже код дает мне исключение, что «unparceble date».разобрать дату из строки дает исключение в android

Код:

DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd"); 
try { 
    date1 = df1.parse(currentDate); 
    System.out 
      .println("============my formated date====================" + date1.toString()); 
    Calendar cal = Calendar.getInstance(); 
    cal.setTime(date1); 
    cal.add(Calendar.DATE, 10); // add 10 days 

    date1 = cal.getTime(); 

    System.out.println("==============added date==============" + date1.toString()); 
+1

пожалуйста отправлять LogCat? –

ответ

0

я создал одну общую функцию для формата даты преобразования. Вы должны передать старый формат даты, новый формат даты и дату.

public static String convertDateFormat(String oldFormat, String newFormat, String inputDate) 
    { 
     DateFormat theDateFormat = new SimpleDateFormat(oldFormat); 
     Date date = null; 

     try 
     { 
      date = theDateFormat.parse(inputDate); 
     } 
     catch (ParseException parseException) 
     { 
      // Date is invalid. Do what you want. 
     } 
     catch (Exception exception) 
     { 
      // Generic catch. Do what you want. 
     } 

     theDateFormat = new SimpleDateFormat(newFormat); 
     return theDateFormat.format(date).toString(); 
    } 

// Вызов Funcation

String convertedDate = convertDateFormat("EEEE MMM dd,yyyy","yyyy-MM-dd",dateToConvert); 
+0

Спасибо Chirag это работает –

+0

не могли бы вы помочь мне в еще одной вещи? Что мне делать, если я хочу добавить числа на date.means я хочу добавить 10 или 15 дней к моей дате. –

+0

Вы можете найти ответ по этой ссылке - http://stackoverflow.com/questions/8738369/how-to-add-days-into-the-date-in-android ' –

1

Вы должны разобрать его в дату текущего формата, прежде чем отформатировать его в другой день

DateFormat df_parse = new SimpleDateFormat("EEEE MMM dd,yyyy"); 
Date date_parse = df_parse.format(currentDate); 
DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd"); 
date1 = df1.parse(date_parse); 
+0

date1 = df1.format (date1); -это говорит, что «строка» не может быть преобразована на сегодняшний день. –

+0

@JohnWatson извините, я запутался в том, что для формата и для синтаксического анализа. отредактировал мой код –