From 7801e5fd8144e2ebaa874a3ef3e53b12cf880d49 Mon Sep 17 00:00:00 2001 From: Hide_D Date: Wed, 29 Oct 2025 17:44:12 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20varTurn60=EC=97=90=20=EB=B0=80=EB=A6=AC?= =?UTF-8?q?=EC=B4=88=20=EC=97=86=EC=9D=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/ts/util/parseTime.ts | 8 +++++++- hwe/ts/varTurn60.ts | 18 +++++------------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/hwe/ts/util/parseTime.ts b/hwe/ts/util/parseTime.ts index e90f9cee..3352da35 100644 --- a/hwe/ts/util/parseTime.ts +++ b/hwe/ts/util/parseTime.ts @@ -1,5 +1,11 @@ import {parseISO} from 'date-fns'; export function parseTime(dateString: string): Date{ - return parseISO(dateString); + if(dateString === null){ + console.warn('why null'); + console.trace(); + return new Date(); + } + const tmp = parseISO(dateString); + return tmp; } \ No newline at end of file diff --git a/hwe/ts/varTurn60.ts b/hwe/ts/varTurn60.ts index 251ea2ce..b37099c5 100644 --- a/hwe/ts/varTurn60.ts +++ b/hwe/ts/varTurn60.ts @@ -167,14 +167,6 @@ export class VarTurn60 { return formatTime(zoned, withFraction); } - private static addSecondsUTC(base: Date, sec: number): Date { - return addSeconds(base, sec); - } - - private static addDaysUTC(base: Date, days: number): Date { - return addDays(base, days); - } - // ----- Core Logic ----- @@ -183,7 +175,7 @@ export class VarTurn60 { const baseDayUTC = this.toSeoulMidnightUTC(utc); const zoned = toZonedTime(utc, this.TZ); - const totalSec = zoned.getHours() * 3600 + zoned.getMinutes() * 60 + zoned.getSeconds(); + const totalSec = zoned.getHours() * 3600 + zoned.getMinutes() * 60 + zoned.getSeconds() + zoned.getMilliseconds() / 1000; const min30 = Math.floor(totalSec / 1800); if (min30 < 0 || min30 >= 48) throw new RangeError('half-hour index out of range'); const [turnIdx, minOffset] = this.min30ToTurn[min30]; @@ -202,21 +194,21 @@ export class VarTurn60 { cutTurn(withFraction = true): [string, number] { const [hour, minOffset, turnTerm] = VarTurn60.turnToHM[this.turnIdx]; const sec = (hour * 60 + minOffset) * 60; - const date = VarTurn60.addSecondsUTC(this.baseDayUTC, sec); + const date = addSeconds(this.baseDayUTC, sec); return [VarTurn60.format(date, withFraction), turnTerm]; } toDate(): Date { const [hour, minOffset] = VarTurn60.turnToHM[this.turnIdx]; const sec = (hour * 60 + minOffset) * 60 + this.secOffset; - const date = toZonedTime(VarTurn60.addSecondsUTC(this.baseDayUTC, sec), SEOUL_TZ); + const date = toZonedTime(addSeconds(this.baseDayUTC, sec), SEOUL_TZ); return date; } toDateStr(withFraction = true): string { const [hour, minOffset] = VarTurn60.turnToHM[this.turnIdx]; const sec = (hour * 60 + minOffset) * 60 + this.secOffset; - const date = VarTurn60.addSecondsUTC(this.baseDayUTC, sec); + const date = addSeconds(this.baseDayUTC, sec); return VarTurn60.format(date, withFraction); } @@ -253,7 +245,7 @@ export class VarTurn60 { } const nextBaseDayUTC = - dayDiff === 0 ? this.baseDayUTC : VarTurn60.addDaysUTC(this.baseDayUTC, dayDiff); + dayDiff === 0 ? this.baseDayUTC : addDays(this.baseDayUTC, dayDiff); return new VarTurn60(nextBaseDayUTC, nextTurnIdx, nextSecOffset); }