您好我正在使用Android应用程序,我正在试图弄清楚如何将24小时时间转换为12小时。
Example
24 hour format 12:18:00
to
12 hour format 12:18pm
答案 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();
}