如何解决两个Date实例以小时为单位之差引发“结束瞬间必须大于开始时间”异常
我想找到两个日期之间的小时差。。
我尝试使用Joda-Time API:
SELECT * FROM table WHERE (DATE(dateColumn)=curdate() AND column1='something' OR column1='somethingElse') AND column2 IS NOT NULL ORDER BY column1
但是当date1 = IST 2019年7月1日星期一08:30:00和date2 = IST 2019年7月1日星期一12:30:00时会抛出异常
public static long getDateTimeDiffInHours(Date date1,Date date2) {
Interval interval = new Interval(date2.getTime(),date1.getTime());
Duration period = interval.toDuration();
return period.getStandardHours();
}
请向我解释原因以及如何解决此问题。我正在使用Java 8。
解决方法
您可以在持续时间内使用duratin api(查找天/分钟/小时)
Math.abs( Duration.ofMillis(endTime).minusMillis(StartTime).toHours())
将答案编辑为结束时间,因为您可能错过的开始时间少于开始时间,但始终尝试在尝试之前检查结束时间和开始时间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。