如何使用Moment.js将秒数转换为天和小时的时长格式
使用Moment.js转换秒数为天+小时格式的方法
Moment.js 提供了专门处理时长的moment.durationAPI,可以很方便的完成单位转换,不需要手动做数学换算,具体实现如下:
实现代码
const totalSeconds = 340047; // 基于总秒数生成时长对象 const timeDuration = moment.duration(totalSeconds, 'seconds'); // 取完整的天数 const days = Math.floor(timeDuration.asDays()); // 取剩余的整小时数(hours()方法默认返回0-23之间的整数,自动过滤掉完整天数部分) const hours = timeDuration.hours(); // 输出结果:3天 22小时 console.log(`${days}天 ${hours}小时`);
如果你需要保留小时的小数位,可以用以下写法:
const totalSeconds = 340047; const timeDuration = moment.duration(totalSeconds, 'seconds'); const days = Math.floor(timeDuration.asDays()); // 扣除完整天数后,将剩余时长转换为小时保留两位小数 const hours = timeDuration.subtract(days, 'days').asHours().toFixed(2); // 输出结果:3天 22.46小时 console.log(`${days}天 ${hours}小时`);
结果说明
340047秒对应的完整时长为3天22小时左右,你可以根据自己的需求选择取整或者保留小数的输出格式。
内容的提问来源于stack exchange,提问作者NewTech Lover
相关产品推荐
相关产品推荐

