diff --git a/lib/trainTimeFiltering.ts b/lib/trainTimeFiltering.ts index 31f4256..c0bc05b 100644 --- a/lib/trainTimeFiltering.ts +++ b/lib/trainTimeFiltering.ts @@ -46,9 +46,16 @@ export const trainTimeFiltering: (x: trainDataProps) => boolean = (props) => { const delayData = currentTrain.filter((t) => t.num == d.train)[0].delay; let delay = delayData === "入線" ? 0 : delayData; const date = dayjs(); - const IntH = parseInt(h) < 4 ? parseInt(h) + 24 : parseInt(h); + const IntH = parseInt(h); const IntM = parseInt(m); - const targetDate = date.hour(IntH).minute(IntM + delay); + const currentHour = date.hour(); + + // 0時~4時未満は、現在時刻が4時以上の場合のみ翌日として扱う + let targetDate = date.clone().hour(IntH).minute(IntM + delay).second(0).millisecond(0); + if (IntH < 4 && currentHour >= 4) { + targetDate = targetDate.add(1, 'day'); + } + if (date.isAfter(targetDate)) return false; if (targetDate.diff(date) < baseTime * 60 * 60 * 1000) return true; return false;