From a41d3d8f550c2211a9409223b7c2b7b5d170c92f Mon Sep 17 00:00:00 2001 From: sky121113 Date: Tue, 20 Jan 2026 11:00:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=97=A5=E6=9C=9F=E6=99=82?= =?UTF-8?q?=E5=8D=80=E5=81=8F=E7=A7=BB=E9=8C=AF=E8=AA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/js/utils/format.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/resources/js/utils/format.ts b/resources/js/utils/format.ts index 3053885..9c2084c 100644 --- a/resources/js/utils/format.ts +++ b/resources/js/utils/format.ts @@ -26,10 +26,11 @@ export const formatDate = (date: string): string => { if (parts.length < 3 || parts.some(isNaN)) return date; const [y, m, d] = parts; + // Initialize at noon to avoid timezone shifting issues const dt = new Date(y, m - 1, d, 12, 0, 0); const year = dt.getFullYear(); - const month = String(dt.getMonth() + 1).padStart(2, '0'); - const day = String(dt.getDate()).padStart(2, '0'); + const month = String(dt.getMonth() + 1).padStart(2, "0"); + const day = String(dt.getDate()).padStart(2, "0"); return `${year}/${month}/${day}`; }; @@ -44,11 +45,11 @@ export const formatDateWithDayOfWeek = (date: string): string => { if (parts.length < 3 || parts.some(isNaN)) return date; const [y, m, d] = parts; + // Initialize at noon to avoid timezone shifting issues const dt = new Date(y, m - 1, d, 12, 0, 0); - const year = dt.getFullYear(); - const month = String(dt.getMonth() + 1).padStart(2, '0'); - const day = String(dt.getDate()).padStart(2, '0'); + const month = String(dt.getMonth() + 1).padStart(2, "0"); + const day = String(dt.getDate()).padStart(2, "0"); const weekDay = dt.toLocaleDateString("zh-TW", { weekday: "short" }); return `${year}/${month}/${day} (${weekDay})`;