time.js 758 Bytes
/*
 * @Date: 2025-04-07 12:41:59
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2025-04-07 12:42:05
 * @FilePath: /mlaj/src/utils/time.js
 * @Description: 文件描述
 */
/**
 * 格式化时间戳为 mm:ss 或 hh:mm:ss 格式
 * @param {number} seconds - 总秒数(支持小数)
 * @returns {string} 格式化后的时间字符串
 */
export function formatTime(seconds) {
  if (isNaN(seconds) || seconds < 0) return '0:00'

  const hours = Math.floor(seconds / 3600)
  seconds %= 3600
  const minutes = Math.floor(seconds / 60)
  seconds = Math.floor(seconds % 60)

  const pad = (n) => n.toString().padStart(2, '0')
  if (hours > 0) {
    return `${hours}:${pad(minutes)}:${pad(seconds)}`
  }
  return `${minutes}:${pad(seconds)}`
}