我有两个日历日期,我得到了天、小时和分钟之间的差异。
如果结束日期大于开始日期,这将非常有效。如果开始日期与结束日期在一周中的同一天,但比结束日期更早,则不起作用。例如:结束日期为星期六下午 2:20,开始日期为星期六下午 7:20。它以 0 天和 5 小时计算。但是,它应该更像是 7 天。
这是代码
long t1 = curCal.getTimeInMillis();
long t2 = setCal.getTimeInMillis();
if(t2 < t1){
days = t1-t2;
}else{
days = t2-t1;
}
long toDays = TimeUnit.MILLISECONDS.toDays(days);
long toHours = TimeUnit.MILLISECONDS.toHours(days) % 24;
long toMinutes = TimeUnit.MILLISECONDS.toMinutes(days) % 60;
String toastMessage = String.format(" %d Days %d Hours %d Minutes", toDays, toHours, toMinutes);
Toast.makeText(context, "ALARM in" + " " + toastMessage , Toast.LENGTH_LONG).show();
我该如何处理结束日期与开始日期相同的情况,但结束日期是开始日期之前的时间?
谢谢
编辑
我想我解决了我的问题。我正在为其他有同样问题的人添加它。如果结束日期 = 开始日期(同一天)将 7 添加到日历对象以作为结束日期。伪代码
if (enddate == startdate)) {
enddate.add(Calendar.DAY_OF_YEAR, 7);
}