我有一个以不寻常方式存储的一周范围内的日期数组。
日期以这种数字格式存储:12150
从左到右:
第一个数字代表日期:1 = 星期日,2 = 星期一,3 = 星期二,....,7 = 星期六
接下来的两位数字代表 24 小时制中的小时:00 = 午夜,23 = 晚上 11 点
接下来的两位数字代表分钟:00-59
给定输入日期和开始日期和结束日期,我需要知道输入日期是否在开始日期和结束日期之间。
我现在有一个算法,我认为它100% 有效,但我不确定。
无论如何,我认为可能有更好更简单的方法来做到这一点,我想知道是否有人知道那个算法是什么。
如果不是这样,如果有人可以仔细检查我的工作并验证它确实适用于 100% 的有效案例,那就太酷了。
我现在拥有的是:
if (startDate < inputDate &&
endDate > inputDate) {
inRange = yes;
}
else if (endDate < startDate) {
if((inputDate + 72359) > startDate &&
(inputDate + 72359) < endDate) {
inRange = yes;
}
else if((inputDate + 72359) > startDate &&
(inputDate + 72359) < (endDate + 72359)) {
inRange = yes;
}
}