js创建自定义格式化时间描述
场景:
创建时间格式化描述:n天m小时p分钟,用于展示统计时间等
代码:
let config = {
minTime: 1
};
export default class TimeCalculateUtils {
static createTimeDesc(totalTime = 0, userConfig = {}) {
config = { ...config, ...userConfig };
return TimeCalculateUtils.getDescByTime(totalTime);
}
static getDescByTime(time = 0) {
let desc = "";
let remainDesc = "";
if (time >= (24 * 60)) {
const day = parseInt(time / (24 * 60));
const remainDayTime = time % (24 * 60);
desc = `${day}天`;
if (remainDayTime > 0) {
remainDesc = TimeCalculateUtils.getDescByTime(remainDayTime);
}
return `${desc}${remainDesc}`;
}
if (time >= 60) {
const hour = parseInt(time / 60);
const remainHourTime = time % 60;
desc = `${hour}小时`;
if (remainHourTime > 0) {
remainDesc = TimeCalculateUtils.getDescByTime(remainHourTime);
}
return `${desc}${remainDesc}`;
}
time = time === 0 ? config.minTime : time;
desc = `${time}分钟`;
return `${desc}`;
}
}