在Java中将24小时制转换为12小时制
时间:2020-01-09 10:35:24 来源:igfitidea点击:
在本文中,我们将介绍如何在Java中将24小时制转换为12小时制,将12小时制转换为24小时制。
对于转换,我们可以使用SimpleDateFormat或者Java 8或者更高版本,可以使用DateTimeFormatter类在24小时内转换为12小时,反之亦然。
使用SimpleDateFormat将24小时制转换为12小时制
请记住,对于24小时格式,我们必须使用HH,而对于12小时时间,则必须使用hh。基于此,我们可以通过传递适当的模式来创建两个SimpleDateFormat实例。
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeConversion {
public static void main(String[] args) {
String fromPattern = "HH:mm:ss"; // 24 hour time pattern
String toPattern = "hh:mm:ss a"; // 12 hour time pattern with AM/PM
String time = "21:15:34";
convertUsingPattern(time, fromPattern, toPattern);
}
public static void convertUsingPattern(String time, String convertFromPattern, String convertToPattern){
DateFormat dfFrom = new SimpleDateFormat(convertFromPattern);
DateFormat dfTo = new SimpleDateFormat(convertToPattern);
try {
Date date = dfFrom.parse(time);
System.out.println("From Time- " + date);
String changedTime = dfTo.format(date);
System.out.println("To Time- " + changedTime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
输出量
From Time- Thu Jan 01 21:15:34 IST 1970 To Time- 09:15:34 PM
使用SimpleDateFormat将12小时制转换为24小时制
在上面的程序中,只需将fromPattern和toPattern互换。
public class TimeConversion {
public static void main(String[] args) {
String fromPattern = "hh:mm:ss a"; // 12 hour time pattern with AM/PM
String toPattern = "HH:mm:ss"; // 24 hour time pattern
String time = "09:15:34 AM";
convertUsingPattern(time, fromPattern, toPattern);
}
public static void convertUsingPattern(String time, String convertFromPattern, String convertToPattern){
DateFormat dfFrom = new SimpleDateFormat(convertFromPattern);
DateFormat dfTo = new SimpleDateFormat(convertToPattern);
try {
Date date = dfFrom.parse(time);
System.out.println("From Time- " + date);
String changedTime = dfTo.format(date);
System.out.println("To Time- " + changedTime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
输出量
From Time- Thu Jan 01 09:15:34 IST 1970 To Time- 09:15:34 If input is- 09:15:34 PM then output From Time- Thu Jan 01 21:15:34 IST 1970 To Time- 21:15:34
使用DateTimeFormatter将24小时格式转换为12小时格式
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class TimeConversion {
public static void main(String[] args) {
String fromPattern = "HH:mm:ss"; // 24 hour time pattern
String toPattern = "hh:mm:ss a"; // 12 hour time pattern with AM/PM
String time = "14:34:45";
convertUsingPattern(time, fromPattern, toPattern);
}
public static void convertUsingPattern(String time, String convertFromPattern, String convertToPattern){
try {
LocalTime lt = LocalTime.parse(time, DateTimeFormatter.ofPattern(convertFromPattern));
System.out.println("From Time- " + lt.toString());
String changedTime = lt.format(DateTimeFormatter.ofPattern(convertToPattern));
System.out.println("To Time- " + changedTime);
} catch (DateTimeParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
输出量
From Time- 14:34:45 To Time- 02:34:45 PM
使用DateTimeFormatter将12小时时间格式转换为24小时时间格式
在上面的程序中,只需将fromPattern和toPattern互换。
public class TimeConversion {
public static void main(String[] args) {
String fromPattern = "hh:mm:ss a"; // 12 hour time pattern with AM/PM
String toPattern = "HH:mm:ss"; // 24 hour time pattern
String time = "12:34:45 AM";
convertUsingPattern(time, fromPattern, toPattern);
}
public static void convertUsingPattern(String time, String convertFromPattern, String convertToPattern){
try {
LocalTime lt = LocalTime.parse(time, DateTimeFormatter.ofPattern(convertFromPattern));
System.out.println("From Time- " + lt.format(DateTimeFormatter.ofPattern(convertFromPattern)));
String changedTime = lt.format(DateTimeFormatter.ofPattern(convertToPattern));
System.out.println("To Time- " + changedTime);
} catch (DateTimeParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
输出量
From Time- 12:34:45 AM To Time- 00:34:45

