我试图弄清两个日期之间的差异

String start_date, end_date;
    System.out.println("Date Format: MM/DD/YYYY hh:mm:ss (24-hour format)");
    System.out.print("Start Date and Time: ");
    start_date = cin.next();
    System.out.print("End Date and Time: ");
    end_date = cin2.next();
    SimpleDateFormat date_format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
    Date date1 = null, date2 = null;
    try
    {
        date1 = date_format.parse(start_date);
        date2 = date_format.parse(end_date);long diff = date1.getTime() - date2.getTime();
    long diffSeconds = diff / 1000 % 60;
    long diffMinutes = diff / (60 * 1000) % 60;
    long diffHours = diff / (60 * 60 * 1000) % 24;
    long diffDays = diff / (24 * 60 * 60 * 1000);
    System.out.print(diffDays + " days, ");
    System.out.print(diffHours + " hours, ");
    System.out.print(diffMinutes + " minutes, ");
    System.out.print(diffSeconds + " seconds.");
    }
    catch(Exception ex)
    {
        System.out.println(ex);
    }

我不断收到这个错误
Date Format: MM/DD/YYYY hh:mm:ss (24-hour format)
Start Date and Time: 11/11/2014 11:11:11
End Date and Time: 11/21/2014 11:11:11
java.text.ParseException: Unparseable date: "11/11/2014"

请帮我

最佳答案

注意您的输出

Start Date and Time: 11/11/2014 11:11:11
...
java.text.ParseException: Unparseable date: "11/11/2014"


你进来了

11/11/2014 11:11:11


但只是试图解析

11/11/2014


Scanner#next()在这里使用

start_date = cin.next();


标记空白(默认情况下)。使用Scanner#nextLine()获取完整行。

10-07 19:34
查看更多