0

所以,我正在尝试使用 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));
    }

}
4

1 回答 1

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));
于 2013-02-28T23:36:02.570 回答