/** * 日期格式化工具函数 */ /** * 将日期对象格式化为 YYYY-MM-DD 格式的字符串 * @param {Date} date - 日期对象 * @returns {string} 格式化后的日期字符串 */ export function formatDate(date) { if (!date) return ''; const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); return `${year}-${month}-${day}`; } /** * 将日期对象格式化为 YYYY-MM-DD HH:mm:ss 格式的字符串 * @param {Date} date - 日期对象 * @returns {string} 格式化后的日期时间字符串 */ export function formatDateTime(date) { if (!date) return ''; const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); const seconds = String(date.getSeconds()).padStart(2, '0'); return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } /** * 根据时间范围文字(如"近1年")计算开始和结束日期 * @param {string} timeRange - 时间范围文字 * @returns {Object} 包含开始和结束日期的对象 */ export function getDateRangeByTimeRange(timeRange) { const endDate = new Date(); const startDate = new Date(); if (timeRange === '近1年') { startDate.setFullYear(endDate.getFullYear() - 1); } else if (timeRange === '近2年') { startDate.setFullYear(endDate.getFullYear() - 2); } else if (timeRange === '近3年') { startDate.setFullYear(endDate.getFullYear() - 3); } return { start_date: formatDate(startDate), end_date: formatDate(endDate) }; }