2014-02-06 10 views
0

На самом деле я хотел преобразовать одну строку в дату, а затем мне нужно отформатировать его в друг с другом формате ..Как преобразовать строку в дату, а затем в другой формат?

Строка у меня есть

String val="Wed Jan 08 08:49:13 GMT+05:30 2014"; 

Чтобы преобразовать его в

2014-01-30 10:14:18 , this format 

можно ли сделать это, я попробовал какой-то метод, как

 SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy"); 
     String formattedDate = df.format(c.getTime()); 

     Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT+1:00")); 
      // Date currentLocalTime = ; 
      DateFormat date = new SimpleDateFormat("HH:mm:ss:mmss a"); 

Но ничего не получилось

+0

Почему бы не использовать joda-time? – Ashalynd

+0

Говорить нам, что ничего не работало, не помогает. Расскажите, как и почему это не сработало. –

+1

Если у вас есть строка даты, вам нужно проанализировать ее в 'Date', прежде чем вы сможете отформатировать ее по-другому. –

ответ

3

Ваша строка формата для синтаксического анализа не соответствует дате примера, которую вы указали.

Вы можете попробовать что-то вроде следующего:

String val = "Wed Jan 08 08:49:13 GMT+05:30 2014"; 
    DateFormat inFmt = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy"); 
    Date date = inFmt.parse(val); 
    DateFormat outFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    outFmt.setTimeZone(TimeZone.getTimeZone("GMT+1:00")); 
    System.out.println(outFmt.format(date)); 

Обратите внимание на следующие соответствий в первых двух строках:

  • ср -> EEE
  • Ян -> MMM
  • 08 -> dd
  • и т.д.
+0

Большое спасибо за работу. – Anandhu

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