Java 将24小时时间转换为12小时时间?
您好,我正在使用一个android应用程序,我正在尝试找出如何将24小时的时间转换为12小时的时间Java 将24小时时间转换为12小时时间?,java,android,date,Java,Android,Date,您好,我正在使用一个android应用程序,我正在尝试找出如何将24小时的时间转换为12小时的时间 Example 24 hour format 12:18:00 to 12 hour format 12:18pm 您很可能需要了解Java 要以所需的格式显示数据,应使用以下内容: SimpleDateFormat sdf=new SimpleDateFormat("h:mm a"); sdf.format(dateObject); 请尝试使用: 试试这个代码 S
Example
24 hour format 12:18:00
to
12 hour format 12:18pm
您很可能需要了解Java 要以所需的格式显示数据,应使用以下内容:
SimpleDateFormat sdf=new SimpleDateFormat("h:mm a");
sdf.format(dateObject);
请尝试使用:
试试这个代码
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();
}
使用SimpleDataFormat,但请注意HH与HH不同 假设我们的时间是18:20 以下格式将返回下午18:20
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm aa");
而此格式将返回下午6:20
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm aa");
希望这对您有所帮助……如果您使用的是Java 8或Java 9,您可以使用如下库:
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();
}
String time = "22:18:00";
String result = LocalTime.parse(time).format(DateTimeFormatter.ofPattern("h:mma"));
输出
10:18PM
事实上,那应该是下午12点18分你是如何得到这个时间价值的?普通线?日期/时间/对象?时间戳?纯文本,很抱歉我没有声明它的格式是12:18:00btw ted:O已编辑,我的错误确保您正在写入h not h转换12:00noon时出现错误。当时间介于12:00和12:59之间时,AM和PM都报告为AM。Magesh提到的bug有任何修复吗?是的。。要修复该错误,请使用
DateFormat f1=newsimpledateformat(“HH:mm:ss”)代码>仅供参考,这里显示的类设计糟糕且麻烦,现在是遗留的,被java.time类取代。这是现代的方法,也是2018年推荐的方法。在非全新Android上,当您将ThreeTenABP添加到您的Android项目中并确保从org.threeten.bp
及其子包导入日期时间类时,它也会起作用。看,谢谢你@OleV.V。很高兴听到这些信息,随时向你学习
10:18PM