import dayjs from 'dayjs'; import { ITimeFormatConfig } from './ITimeFormatConfig'; export class DateService { constructor(private config: ITimeFormatConfig) {} parseISO(isoString: string): Date { return dayjs(isoString).toDate(); } getDayName(date: Date, format: 'short' | 'long' = 'short'): string { return new Intl.DateTimeFormat(this.config.locale, { weekday: format }).format(date); } getWeekDates(offset = 0, days = 7): string[] { const monday = dayjs().startOf('week').add(1, 'day').add(offset, 'week'); return Array.from({ length: days }, (_, i) => monday.add(i, 'day').format('YYYY-MM-DD') ); } }