将24小时时间转换为12小时时间?

时间:2011-11-10 15:04:42

标签: java android date

您好我正在使用Android应用程序,我正在试图弄清楚如何将24小时时间转换为12小时。

Example 
24 hour format 12:18:00

to 
12 hour format 12:18pm

6 个答案:

答案 0 :(得分:14)

尝试使用SimpleDateFormat

String s = "12:18:00";
DateFormat f1 = new SimpleDateFormat("HH:mm:ss"); //HH for hour of the day (0 - 23)
Date d = f1.parse(s);
DateFormat f2 = new SimpleDateFormat("h:mma");
f2.format(d).toLowerCase(); // "12:18am"

答案 1 :(得分:2)

如果您使用的是Java 8或9,则可以使用java.time这样的库:

String time = "22:18:00";
String result = LocalTime.parse(time).format(DateTimeFormatter.ofPattern("h:mma"));

<强>输出

10:18PM

答案 2 :(得分:0)

您很可能需要查看Java SimpleDateFormat

要以您希望的格式显示数据,您应该使用以下内容:

   SimpleDateFormat sdf=new SimpleDateFormat("h:mm a");
   sdf.format(dateObject);

答案 3 :(得分:0)

使用SimpleDateFormat,但请注意HH与hh不同。

假设我们的时间是18:20

以下格式将于下午18:20返回

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm aa");

虽然这种格式会在下午6:20返回

SimpleDateFormat sdf = new SimpleDateFormat("hh:mm aa");

希望这会有所帮助......

答案 4 :(得分:0)

final String timein24Format = "22:10";

try {
    final SimpleDateFormat sdf = new SimpleDateFormat("H:mm");
    final Date dateObj = sdf.parse(timein24Format );
    String timein12Format=new SimpleDateFormat("K:mm a").format(dateObj));
} catch (final ParseException e) {
    e.printStackTrace();
}

答案 5 :(得分:-1)

试试这段代码

     String s= time ;

     DateFormat f1 = new SimpleDateFormat("kk:mm");
     Date d = null;
        try {
             d = f1.parse(s);
             DateFormat f2 = new SimpleDateFormat("h:mma");
             time = f2.format(d).toUpperCase(); // "12:18am"

    } catch (ParseException e) {

        // TODO Auto-generated catch block
            e.printStackTrace();
        }