2015-12-23 3 views
0

Я написал функцию, чтобы преобразовать строку времени даты в форматированную строку времени даты и вернуть результат.Как преобразовать ввод строки даты даты как форматированную строку времени даты в Joda date time

ввода даты и времени String = 2015-12-16 12:27:07.0 из положить даты и времени String = 02/20/2016 12:32 PM

public static String convertDateToCustomFormat(String dateString) { 
     DateFormat dbDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
     DateFormat uiDateFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a"); 
     String date = null; 
     try { 
      date = uiDateFormat.format(dbDateFormat.parse(dateString)); 

     } catch (ParseException e) { 

      e.printStackTrace(); 
     } 

     return date; 
    } 

выше функция работает fine.But я использовал java.text.SimpleDateFormat для форматирования string.I пытался преобразовать такую ​​же функциональность в joda.time.format.DateTimeFormat но я получил сообщение об ошибке сказав

java.lang.IllegalArgumentException: Invalid format: "2015-12-16 12:27:07.0" is malformed at ".0" 

Вот моя новая функция использования времени даты Joda

ввода даты и времени String = 2015-12-16 12:27:07.0 из положить даты и времени должно быть, как это = 02/20/2016 12:32 PM

public static String convertDateToCustomFormat(String dateString) { 
     DateTimeFormatter dbDateFormat = DateTimeFormat 
       .forPattern(("yyyy-MM-dd HH:mm:ss .aa")); 
     DateTimeFormatter uiDateFormat = DateTimeFormat 
       .forPattern("MM/dd/yyyy hh:mm:ss aa"); 
     DateTime date = null; 

     date = dbDateFormat.parseDateTime(dateString); 

     return uiDateFormat.print(date); 
    } 

Пожалуйста, дайте мне знать, где я сделал ошибку.

ответ

4

Попробуйте это, FYI DatetimeFormat

public static String convertDateToCustomFormat(String dateString) { 
    DateTimeFormatter dbDateFormat = DateTimeFormat 
      .forPattern(("yyyy-MM-dd HH:mm:ss.S")); 
    DateTimeFormatter uiDateFormat = DateTimeFormat 
      .forPattern("MM/dd/yyyy hh:mm:ss a"); 
    DateTime date = null; 

    date = dbDateFormat.parseDateTime(dateString); 

    return uiDateFormat.print(date); 
} 
+0

спасибо дружище он работает отлично. – gihan

Смежные вопросы