Конвертировать 24-часовое время в 12-часовое время на Java - PullRequest
2 голосов
/ 20 марта 2012

Я хочу преобразовать 24-часовое время в 12-часовое время AM / PM. например: - Как преобразовать дату 2012-03-20T22: 30: 00.000 + 05: 30 в 2012-03-20 22:30 ??

Я извлек дату, но в 24-часовое время. Я хотя и использовал SimpleDateFormater, но все равно для 12.30 он показывает 00.30, а не 12.30 PM .

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

Ответы [ 2 ]

3 голосов
/ 20 марта 2012

Попробуйте это:

String dateStr = new SimpleDateFormat("yyyy-MM-dd hh:mm a").format(new Date());
1 голос
/ 25 мая 2014

Связанные классы java.util.Date и .Calendar печально известны своими сложностями. Избежать их. Используйте Joda-Time или новый пакет java.time в Java 8.

Joda-Time

DateTimeZone timeZone = DateTimeZone.ForID( "Asia/Kolkata" );
DateTime dateTime = new DateTime( "2012-03-20T22:30:00.000+05:30", timeZone );
Java.util.Locale locale = java.util.Locale.Builder().setLanguage("en").setRegion("IN").build();
DateTimeFormatter formatter = DateTimeFormat.forStyle( "SS" ).withLocale( locale).withZone( timeZone );
String output = formatter.print( dateTime );
...