Java的两个日期的小时数之差有的是23个小时有的是25个小是怎么会事?

public long getdays(String endDatestr,String startDatestr){
     SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
     long hours=0;
     try {
     Date startDate= sdf.parse(startDatestr);
     Date endDate = sdf.parse(endDatestr);
     //确保startDatestr在endDatestr的前面
     if(startDate.before(endDate)){
     Date da = startDate;
     startDate=endDate;
     endDate = da;
    }
     hours= (endDate.getTime()-startDate.getTime())/(1000*60*60);
    } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return hours;
  }

例如输入getdays(“1986-05-05”,“1986-05-04”)运行结果23;

输入getdays(“1991-09-15”,“1991-09-14”)运行结果25;

这是怎么回事啊  代码写错了码?

慕设计2038543
浏览 832回答 1
1回答

慕移动4708697

尝试了一下这样写 不知道符不符合你要的效果。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java