// 获取指定月份的日期信息 export interface DateInfo { date: number; weekDay: string; fullDate: string; } /** * 获取当前月份的日期信息 * @returns 包含当月所有日期信息的数组 */ export const getCurrentMonthDates = (): DateInfo[] => { const today = new Date(); const year = today.getFullYear(); const month = today.getMonth(); // 0-11 // 获取当月第一天 const firstDay = new Date(year, month, 1); // 获取当月最后一天 const lastDay = new Date(year, month + 1, 0); // 当月总天数 const daysInMonth = lastDay.getDate(); const weekdays = ['日', '一', '二', '三', '四', '五', '六']; const dates: DateInfo[] = []; // 生成当月所有日期信息 for (let i = 1; i <= daysInMonth; i++) { const date = new Date(year, month, i); const weekDayIndex = date.getDay(); // 0-6,0表示星期日 dates.push({ date: i, weekDay: weekdays[weekDayIndex], fullDate: `${year}-${String(month + 1).padStart(2, '0')}-${String(i).padStart(2, '0')}` }); } return dates; }; /** * 获取指定月份的日期信息 * @param year 年份 * @param month 月份(0-11) * @returns 包含指定月份所有日期信息的数组 */ export const getMonthDates = (year: number, month: number): DateInfo[] => { // 获取当月第一天 const firstDay = new Date(year, month, 1); // 获取当月最后一天 const lastDay = new Date(year, month + 1, 0); // 当月总天数 const daysInMonth = lastDay.getDate(); const weekdays = ['日', '一', '二', '三', '四', '五', '六']; const dates: DateInfo[] = []; // 生成当月所有日期信息 for (let i = 1; i <= daysInMonth; i++) { const date = new Date(year, month, i); const weekDayIndex = date.getDay(); // 0-6,0表示星期日 dates.push({ date: i, weekDay: weekdays[weekDayIndex], fullDate: `${year}-${String(month + 1).padStart(2, '0')}-${String(i).padStart(2, '0')}` }); } return dates; };