为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕设计2038543 2018-06-12 12:25:06
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;这是怎么回事啊  代码写错了码?
查看完整描述

1 回答

?
慕移动4708697

TA贡献45条经验 获得超22个赞

https://img1.sycdn.imooc.com//5b20bc79000196b110000808.jpg

尝试了一下这样写 不知道符不符合你要的效果。

查看完整回答
反对 回复 2018-06-13
  • 慕设计2038543
    慕设计2038543
    运行了下你的程序同样存在我说的问题,在大部分的输入都是24小时的,只有在个别输入才会出现不是24小的情况,目前我也只发现91年9月14号到i年9月15号是25小时,86年5月4号到86年5月5号是23小时
  • 1 回答
  • 0 关注
  • 810 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信