我试图弄清两个日期之间的差异
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()
获取完整行。