/**
 * 日期时间工具函数
 */

/**
 * 格式化日期时间为字符串 (yyyy-MM-dd HH:mm:ss)
 * @param {Date|string} date - 日期对象或字符串
 * @returns {string} 格式化后的日期时间字符串
 */
export function formatDateTime(date) {
  if (!date) return null
  if (typeof date === 'string') return date
  
  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}`
}

/**
 * 获取今天的开始和结束时间
 * @returns {{startOfDay: Date, endOfDay: Date}} 今天的开始和结束时间
 */
export function getTodayDateRange() {
  const today = new Date()
  const startOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0)
  const endOfDay = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 23, 59, 59)
  return { startOfDay, endOfDay }
}

/**
 * 格式化时间为 HH:mm
 * @param {string} dateTimeString - 日期时间字符串
 * @returns {string} 格式化的时间字符串 (HH:mm)
 */
export function formatTime(dateTimeString) {
  if (!dateTimeString) return ''
  // 处理格式: "2025-01-01 10:35:00" -> "10:35"
  const match = dateTimeString.match(/(\d{2}):(\d{2})/)
  return match ? `${match[1]}:${match[2]}` : ''
}