2

I want to convert 24 Hour time into 12 Hour AM/PM time. e.g:- How to convert date 2012-03-20T22:30:00.000+05:30 to to 2012-03-20 10:30 PM??

I have extratced the date but its in 24 Hour time. I though used SimpleDateFormater but still for 12.30 it is showing 00.30 and not 12.30 PM.

Thanks in advance.

Barry Kaye
  • 7,682
  • 6
  • 42
  • 64
suraj_fale
  • 978
  • 2
  • 21
  • 53

2 Answers2

3

Try this:

String dateStr = new SimpleDateFormat("yyyy-MM-dd hh:mm a").format(new Date());
barsju
  • 4,408
  • 1
  • 19
  • 24
1

The bundled java.util.Date and .Calendar classes are notoriously troublesome. Avoid them. Use either Joda-Time or the new java.time package in 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 );
Basil Bourque
  • 303,325
  • 100
  • 852
  • 1,154