编写一种方法,以24小时格式(1430)和12小时格式(下午2:30)返回时间

0 java

所以,我正在尝试使用SimpleDateFormat来获取用户输入,但我不断收到错误,线程"main"中的异常java.lang.IllegalArgumentException:无法将给定的对象格式化为日期

我不确定如何获取字符串来获取信息并转换它,或者是否可以这样做.任何能引导我朝正确方向发展的评论都将非常感激.

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class takeTime {


    public static void main(String[] args) {


        Scanner reader = new Scanner(System.in);

        System.out.print( "Please enter a time: " );
        String now = reader.nextLine();
        SimpleDateFormat format = new SimpleDateFormat("h:mm a");
        System.out.println( format.format(now));
    }

}
Run Code Online (Sandbox Code Playgroud)

Mad*_*mer 5

您需要将用户的输入转换为Date第一个.

Scanner reader = new Scanner(System.in);

System.out.print( "Please enter a time: " );
String now = reader.nextLine();
Date date = new SimpleDateFormat("HHmm").parse(now);
SimpleDateFormat format = new SimpleDateFormat("h:mm a");
System.out.println( format.format(date));
Run Code Online (Sandbox Code Playgroud)