diff --git a/packages/ui/src/components/calendar/WeekCalendar.svelte b/packages/ui/src/components/calendar/WeekCalendar.svelte index fad05611f5..ee076ac65e 100644 --- a/packages/ui/src/components/calendar/WeekCalendar.svelte +++ b/packages/ui/src/components/calendar/WeekCalendar.svelte @@ -33,6 +33,11 @@ $: weekMonday = startFromWeekStart ? getMonday(currentDate, mondayStart) : new Date(new Date(currentDate).setHours(0, 0, 0, 0)) + + function getDate (startDate: Date, dayIndex: number, minutes: number): Date { + const date = getDay(startDate, dayIndex) + return new Date(date.setMinutes(date.getMinutes() + minutes)) + } @@ -70,7 +75,7 @@ {#each [...Array(displayedDaysCount).keys()] as dayIndex} {#if $$slots.cell} - + {/if} {/each} diff --git a/packages/ui/src/components/calendar/internal/DateUtils.ts b/packages/ui/src/components/calendar/internal/DateUtils.ts index 07cb441883..0dfa4662c8 100644 --- a/packages/ui/src/components/calendar/internal/DateUtils.ts +++ b/packages/ui/src/components/calendar/internal/DateUtils.ts @@ -48,8 +48,8 @@ export function getWeekDayName (weekDay: Date, weekFormat: 'narrow' | 'short' | }).format(weekDay) } -export function day (firstDay: Date, offset: number, minutes?: number): Date { - return new Date(firstDay.getTime() + offset * MILLISECONDS_IN_DAY + (minutes ?? 0) * MILLISECONDS_IN_MINUTE) +export function day (firstDay: Date, offset: number): Date { + return new Date(new Date(firstDay).setDate(firstDay.getDate() + offset)) } export function weekday (firstDay: Date, w: number, d: number): Date {