2

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

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

提前致谢。

4

2 回答 2

3

试试这个:

String dateStr = new SimpleDateFormat("yyyy-MM-dd hh:mm a").format(new Date());
于 2012-03-20T10:38:40.420 回答
1

捆绑的 java.util.Date 和 .Calendar 类是出了名的麻烦。避开他们。使用 Joda-Time 或 Java 8 中的新 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 );
于 2014-05-25T15:43:18.550 回答