js将毫秒数转化为天数:JavaScript日期格式化
返回给定毫秒数的可读格式
思路- 将ms除以适当的值,以获得day、hour和minute的值;
- 将Object.entries() 与Array.prototype.filter()配合使用以仅保留非零值;
- 使用Array.prototype.map()为每个值创建字符串,并适当地进行复数化;
- 使用String.prototype.join(' ')将值组合成字符串。
const formatDuration = ( ms ) => {
if(ms < 0) ms = -ms;
let time = {
day: Math.floor(ms / 86400000),
hour: Math.floor(ms / 3600000) % 24,
minute: Math.floor(ms / 60000) % 60
}
return Object.entries(time)
.filter(val => val[1] !== 0)
.map(([key, val])=>{
if(key === 'day') return `${val}天`
if(key === 'hour') return `${val}时`
if(key === 'minute') return `${val}分`
})
.join(' ');
}
let t1 = formatDuration(62341001);
console.log(t1);
let t2 = formatDuration(34325055574);
console.log(t2);
17时 19分
397天 6时 44分
代码实现参阅:formatDuration - 30 seconds of code
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com