/**
 * 格式化时间
 * @param {Date} date - 日期对象
 * @returns {String} - 格式化后的时间字符串 (yyyy-MM-dd)
 */
const formatDate = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()

  return `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}`;
}

/**
 * 格式化时间
 * @param {Date} date - 日期对象
 * @returns {String} - 格式化后的时间字符串 (yyyy-MM-dd HH:mm:ss)
 */
const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return `${[year, month, day].map(formatNumber).join('-')} ${[hour, minute, second].map(formatNumber).join(':')}`
}

/**
 * 格式化数字，补零
 * @param {Number} n - 数字
 * @returns {String} - 补零后的字符串
 */
const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : `0${n}`
}

module.exports = {
  formatDate,
  formatTime,
  formatNumber
}