我正在计算两个日期之间的时差。运行正常。但是,当我今天打开应用程序并进行测试时,它没有给出正确的小时数差异。我得到一个日期,例如6 PM(MM / dd / yyyy hh),另一个是当前电话日期(MM / dd / yyyy hh:mm)
我尝试通过更改SDF来解决问题,但是没有用。通过更改HH:ss和hh:ss a
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh");
SimpleDateFormat currSdf = new SimpleDateFormat("MM/dd/yyyy hh:mm");
Date start_date_time = sdf.parse(startDate);
Date curr_date_time = currSdf.parse(currSdf.format(new Date()));
double diff=start_date_time.getTime()-curr_date_time.getTime();
double secondsInMilli = 1000;
double minutesInMilli = secondsInMilli * 60;
double hoursInMilli = minutesInMilli * 60;
//long diffHours = diff / (60 * 60 * 1000) % 24;
double diffHours = diff / hoursInMilli;
期望输出是正确的小时数,但是我的小时数是减数。 就像-2.5,随着我增加AM时间并开始减少小时数