将秒转换为对应的时间字符串,每个条件都return,可以自定义返回需要的时间
/**
* @param {Number|String} second 秒
* @returns {String} 转换后时间字符串
*/
const transformTime = (second = 0) => {
if(isNaN(parseInt(second))) return;
second = parseInt(second);
let s, minute, hour, day, year;
if(second < 60){//秒
return `${second}秒`;
}else if(second < 3600){//分
minute = parseInt(second / 60);
s = second % 60;
return `${minute}分钟${s ? s + '秒' : ''}`;
}else if(second < 86400){//时
hour = parseInt(second / 3600);
minute = parseInt(second % 3600 / 60);
s = second % 60;
return `${hour}小时${minute ? minute + '分钟' : ''}${s ? s + '秒' : ''}`;
}else if(second < 31536000){//天
day = parseInt(second / 86400);
hour = parseInt(second % 86400 / 3600);
minute = parseInt(second % 86400 % 3600 / 60);
s = second % 60;
return `${day}天${hour ? hour + '小时' : ''}${minute ? minute + '分钟' : ''}${s ? s + '秒' : ''}`;
}else{//年
year = parseInt(second / 31536000);
day = parseInt(second % 31536000 / 86400);
hour = parseInt(second % 31536000 % 86400 / 3600);
minute = parseInt(second % 31536000 % 86400 % 3600 / 60);
s = second % 60;
return `${year}年${day ? day + '天' : ''}${hour ? hour + '小时' : ''}${minute ? minute + '分钟' : ''}${s ? s + '秒' : ''}`;
}
}