如何将24小时格式时间转换为12小时格式?
在我的应用程序中,我想将给定的CDT格式的24小时字符串转换为CDT格式的12小时字符串,如何将给定的24小时格式字符串转换为12小时格式字符串?
在我的应用程序中,我想将给定的CDT格式的24小时字符串转换为CDT格式的12小时字符串,如何将给定的24小时格式字符串转换为12小时格式字符串?
以下是将 24 小时时间转换为 12 小时(带有 AM 和 PM)的代码。
注意:- 如果您不想要 AM/PM,则只需替换为 。hh:mm a
hh:mm
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String [] args) throws Exception {
try {
String _24HourTime = "22:15";
SimpleDateFormat _24HourSDF = new SimpleDateFormat("HH:mm");
SimpleDateFormat _12HourSDF = new SimpleDateFormat("hh:mm a");
Date _24HourDt = _24HourSDF.parse(_24HourTime);
System.out.println(_24HourDt);
System.out.println(_12HourSDF.format(_24HourDt));
} catch (Exception e) {
e.printStackTrace();
}
}
}
//OUTPUT WOULD BE
//Thu Jan 01 22:15:00 IST 1970
//10:15 PM
另一种解决方案:
System.out.println(hr%12 + ":" + min + " " + ((hr>=12) ? "PM" : "AM"));
您可以尝试使用对象来转换时间格式。SimpleDateFormat
final String time = "23:15";
try {
final SimpleDateFormat sdf = new SimpleDateFormat("H:mm");
final Date dateObj = sdf.parse(time);
System.out.println(dateObj);
System.out.println(new SimpleDateFormat("K:mm").format(dateObj));
} catch (final ParseException e) {
e.printStackTrace();
}
这里是 SimpleDateFromat 的 javadoc 链接。