From 2df4a60c44c675839e2d6506457e123adaecedc1 Mon Sep 17 00:00:00 2001 From: Yifei Yin Date: Sun, 6 Jul 2025 21:37:10 -0400 Subject: [PATCH] fix(core): timezone aware datetime display (#13055) fixes #12803 ## Summary by CodeRabbit * **Bug Fixes** * Improved time display for calendar events to correctly reflect timezone differences. Times are now accurately formatted and displayed based on the user's timezone. --- .../detail-page/tabs/journal/calendar-events.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/frontend/core/src/desktop/pages/workspace/detail-page/tabs/journal/calendar-events.tsx b/packages/frontend/core/src/desktop/pages/workspace/detail-page/tabs/journal/calendar-events.tsx index 2ba9d18aa4..c1791fc21f 100644 --- a/packages/frontend/core/src/desktop/pages/workspace/detail-page/tabs/journal/calendar-events.tsx +++ b/packages/frontend/core/src/desktop/pages/workspace/detail-page/tabs/journal/calendar-events.tsx @@ -24,8 +24,13 @@ import * as styles from './calendar-events.css'; const pad = (val?: number) => (val ?? 0).toString().padStart(2, '0'); function formatTime(start?: ICAL.Time, end?: ICAL.Time) { - const from = `${pad(start?.hour)}:${pad(start?.minute)}`; - const to = `${pad(end?.hour)}:${pad(end?.minute)}`; + if (!start || !end) return ''; + // Use toJSDate which handles timezone conversion for us + const startDate = start.toJSDate(); + const endDate = end.toJSDate(); + + const from = `${pad(startDate.getHours())}:${pad(startDate.getMinutes())}`; + const to = `${pad(endDate.getHours())}:${pad(endDate.getMinutes())}`; return from === to ? from : `${from} - ${to}`; }