/**
* 将总秒数转换成 分:秒
* @param seconds - 秒
*/
export function transformToTimeCountDown(seconds: number) {
const SECONDS_A_MINUTE = 60;
function fillZero(num: number) {
return num.toString().padStart(2, '0'); // 往前填充0至两位
}
const minuteNum = Math.floor(seconds / SECONDS_A_MINUTE); // 向下取整
const minute = fillZero(minuteNum);
const second = fillZero(seconds - minuteNum * SECONDS_A_MINUTE);
return `${minute}:${second}`;
}
transformToTimeCountDown(200) // 03:20
整体思路:
入参为 200 秒,
1. 分:向下取整 (总秒 / 秒) 则为分钟数,即(200/60)结果为 3,补0至二位数,得到 03
2. 秒:分钟 * 秒数,3 * 60 为 180 秒,200-180 = 20 秒,补0至二位数 依然为 20
3. 拼接返回结果