Как конвертировать дату dd/mm/yyyy в yyyy-MM-dd HH: mm: ss Android

Как преобразовать дату в dd/mm/yyyy в формат, поддерживающий sqlite yyyy-MM-dd'T'HH: mm: ss

например:

public static String convertStringToData(String stringData)
        throws ParseException {

    SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/aaaa");//yyyy-MM-dd'T'HH:mm:ss
    SimpleDateFormat output = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date data = sdf.parse(stringData);
    String formattedTime = output.format(data);
    return formattedTime;
}

Ответ 1

public static String formatDate (String date, String initDateFormat, String endDateFormat) throws ParseException {

    Date initDate = new SimpleDateFormat(initDateFormat).parse(date);
    SimpleDateFormat formatter = new SimpleDateFormat(endDateFormat);
    String parsedDate = formatter.format(initDate);

    return parsedDate;
}

Это вернет обработанную дату в виде строки, в качестве параметров для метода будет использоваться формат (как начальный, так и конечный).

Ответ 2

   SimpleDateFormat originalFormat = new SimpleDateFormat("dd MM yyyy");
   SimpleDateFormat targetFormat = new SimpleDateFormat("yyyy MM dd HH:mm:ss" );
   Date date;
   try {
     date = originalFormat.parse("21 6 2013");
     System.out.println("Old Format :   " + originalFormat.format(date));
     System.out.println("New Format :   " + targetFormat.format(date));

    } catch (ParseException ex) {
      // Handle Exception.
    }

Старый формат: 21 06 2013

Новый формат: 2013 06 21 00:00:00

Ответ 3

Date initDate = new SimpleDateFormat("dd/MM/yyyy").parse("10/12/2016");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String parsedDate = formatter.format(initDate);
System.out.println(parsedDate);

Ответ 4

public static final String DATE_DASH_FORMAT = "yyyy-MM-dd";
public static final String DATE_FORMAT = "MM/dd/yyyy"; 

public static String prepareYearMonthDateFromString( String dateStr ){
    try
    {
        Date date = new SimpleDateFormat( DATE_FORMAT , Locale.ENGLISH ).parse( dateStr );
        DateFormat formatter = new SimpleDateFormat( DATE_DASH_FORMAT , Locale.getDefault() );
        dateStr = formatter.format( date.getTime() );
    }
    catch( ParseException e )
    {
        e.printStackTrace();
    }

    return dateStr;
}