2013-12-16 10 views
2

У меня есть строка со следующим форматом времени и даты: «13-Dec-2013 20:24:50» как я могу изменить ее в этом формате »Пт, 13 декабря 2013 г. 8:24 вечера"? Я использую Java как свой язык.Изменить формат даты и времени

+1

Что вы попробовали? – Loc

ответ

5

Создайте DateFormat, который подходит вам, проанализируйте введенную строку, создайте еще один DateFormat, который соответствует вашему желаемому формату вывода, отформатируйте дату.

DateFormat inputFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss"); 
Date d = inputFormat.parse("13-Dec-2013 20:24:50"); 
DateFormat outputFormat = new SimpleDateFormat("HH:mm:ss dd-MMM-yyyy"); 
System.out.println(outputFormat.format(d)); 

Я уже написал DateFormat, который соответствует вашей входной строки. Посмотрите на SimpleDateFormat, вы должны быть в состоянии выяснить остальное самостоятельно.

+1

Просто интересно - есть ли простой и приятный способ получить «pm» вместо «PM», который получается из форматирования SimpleDateFormat? Было бы неплохо, если бы можно было изменить строки AM/PM в существующем (производном) объекте DateFormat. –

+1

Посмотрите на этот вопрос: http://stackoverflow.com/questions/13581608/displaying-am-and-pm-in-small-letter-after-date-formatting – Veluria

+0

Я изменил формат на это: DateFormat outputFormat = новый SimpleDateFormat («EEE, MMM dd, yyyy hh: mm: ss a»); и теперь он отлично работает – Arya

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