Преобразовать строку в дату посредством системной функции

Рейтинг: 0Ответов: 1Опубликовано: 08.09.2014

Всем здравствуйте.

Имеется строка с датой такого вида: "31.05.2010 00:00:00", хочу преобразовать ее к виду MySQL-левскому: "2010-05-31 00:00:00".
Имеется ли какая-нибудь функция для простого преобразования? Или придется ковырять эту строку, заменять точки на тире и переставлять значения?

Попытался сделать так:

String str = "31.05.2010 00:00:00";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str2 = dateFormat.format(str);

Получил экзепшн ) Есть ли какой-то простой способ? Потому как это не единичный случай преобразования, даты будут и других форматов приходить.

Заранее спасибо!

Ответы

▲ 1Принят

Сохраняете свою дату в date, потом ее парсите в новую дату (в нужном формате):

    String str = "31.05.2010 00:00:00";
    Date realDate = new SimpleDateFormat("dd.mm.yyyy HH:mm:ss", Locale.US).parse(str);
    String str2= new SimpleDateFormat("dd-mm-yyyy HH:mm:ss", Locale.US).format(realDate);