題目描述
給定一個12小時制(AM/PM)格式的時間,將其轉換成24小時制的時間格式。
12小時制的半夜是「12:00:00AM」,24小時制的半夜是「00:00:00」。12小時制的中午是「12:00:00PM」,24小時制的中午是「12:00:00」。
原題網址
輸入格式
輸入為一個12小時制的時間字串。
輸出格式
輸出24小時制的時間字串。
範例輸入
07:05:45PM
範例輸出
19:05:45
解題概念
首先分別建立出12小時制和24小時制的SimpleDateFormat物件。12小時制的樣板字串為「hh:mm:ssa」,「hh」為12小時制的小時,「a」為AM/PM的標記;24小時制的樣板字串為「HH:mm:ss」,「HH」為24小時制的小時。利用12小時制SimpleDateFormat物件的「parse」方法來將傳入的12小時制的時間字串轉為Date物件,再利用24小時制SimpleDateFormat物件的「format」方法將Date物件轉為24小時制的時間字串來輸出。
參考答案
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Scanner;
public class Solution {
private static final SimpleDateFormat sdfInput = new SimpleDateFormat("hh:mm:ssa", Locale.ENGLISH);
private static final SimpleDateFormat sdfOutput = new SimpleDateFormat("HH:mm:ss", Locale.ENGLISH);
public static void main(final String[] args) throws Exception {
final Scanner sc = new Scanner(System.in);
final String dateString = sc.nextLine();
final Date date = sdfInput.parse(dateString);
System.out.println(sdfOutput.format(date));
}
}