異常な方法で保存された 1 週間の範囲の日付の配列があります。
日付は次の数値形式で保存されます: 12150
左から右へ:
1 桁目は日を表します: 1 = 日曜日、2 = 月曜日、3 = 火曜日、....、7 = 土曜日
次の 2 桁は 24 時間制の時間を表します: 00 = 真夜中、23 = 午後 11 時
次の 2 桁は分を表します: 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;
}
}