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})`;