Java 编写一个方法,该方法将采用24小时格式(1430)的时间和12小时格式(下午2:30)的返回时间

Java 编写一个方法,该方法将采用24小时格式(1430)的时间和12小时格式(下午2:30)的返回时间,java,Java,因此,我试图使用SimpleDataFormat来获取用户输入,但我不断得到错误,线程“main”java.lang.IllegalArgumentException中的异常:无法将给定对象格式化为日期 我真的不确定如何让字符串接收信息并进行转换,或者是否可以这样做。任何能引导我走向正确方向的评论都将不胜感激 import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public cl

因此,我试图使用SimpleDataFormat来获取用户输入,但我不断得到错误,线程“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));
    }

}

您需要首先将用户输入转换为日期

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));

您需要首先将用户输入转换为日期

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));

首先使用
HHmm
Date格式将“now”转换为
Date
对象您不需要两个格式设置程序吗?一个使用输入格式进行解析,另一个使用输出格式进行打印。OTOH,如果这是你的教授打算让你自己做所有的解析和转换的作业,这不是很难吧?现在转换对于
Date
对象,首先使用
HHmm
Date格式您不需要两个格式设置程序吗?一个使用输入格式进行解析,另一个使用输出格式进行打印。OTOH,如果这是你的教授打算让你自己做所有的解析和转换的作业,这不是很难吧?