From ef81c1f4cdc325f66a55b9f06212190dbec5be24 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Wed, 31 Dec 2025 16:07:44 +0000 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E4=BB=98=E3=82=92=E8=B6=85=E3=81=88?= =?UTF-8?q?=E3=81=9F=E3=81=A8=E3=81=8D=E3=81=AB=E7=B5=82=E9=9B=BB=E5=89=8D?= =?UTF-8?q?=E3=81=AE=E5=88=97=E8=BB=8A=E3=81=8C=E6=AD=A3=E5=B8=B8=E3=81=AB?= =?UTF-8?q?=E8=A1=A8=E7=A4=BA=E3=81=A7=E3=81=8D=E3=81=AA=E3=81=84=E3=83=90?= =?UTF-8?q?=E3=82=B0=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/trainTimeFiltering.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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;