/** * 把毫秒转化为可读的文本 * * @example * readableMs(123456.789) // 2m 3s 456.79ms * readableMs(1000) // 1.00s * readableMs(999) // 999.00ms * readableMs(3661000) // "1h 1m 1.00s" */ export function readableMs(ms: number) { // 天 if (ms >= 86400000) { let d = Math.trunc(ms / 86400000) let h = Math.trunc((ms % 86400000) / 3600000) let m = Math.trunc((ms % 3600000) / 60000) return `${d}d ${h}h ${m}m` } // 小时 else if (ms >= 3600000) { let h = Math.trunc(ms / 3600000) let m = Math.trunc((ms % 3600000) / 60000) let s = (ms % 60000) / 1000 return `${h}h ${m}m ${s.toFixed(2)}s` } // 分钟 else if (ms >= 60000) { let m = Math.trunc(ms / 60000) let s = (ms % 60000) / 1000 return `${m}m ${s.toFixed(2)}s` } // 秒 else if (ms >= 1000) { return `${(ms / 1000).toFixed(2)}s` } else { return `${ms.toFixed(2)}ms` } }