在Java中将24小时时间转换为12小时时间

我想将24小时时间转换为12小时上午/下午时间。 例如: – 如何转换日期2012-03-20T22:30:00.000 + 05:30到2012-03-20 10:30 PM ??

我已经在24小时的时间内提取了日期。 我虽然使用了SimpleDateFormater但仍然是12.30,它显示的是00.30而不是12.30 PM

提前致谢。

捆绑的java.util.Date和.Calendar类非常麻烦。 避免他们。 在Java 8中使用Joda-Time或新的java.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 ); 

试试这个:

 String dateStr = new SimpleDateFormat("yyyy-MM-dd hh:mm a").format(new Date());