本文共 684 字,大约阅读时间需要 2 分钟。
一般来讲我们拿到的时间长度是以毫秒(millisecond)为单位的,例如34325055574
,那么问题来了,一眼看去不知道这到底是多长时间,只是隐隐感觉比较长,那么我们需要转换一下:
const formatDuration = ms => { if (ms < 0) ms = -ms; const time = { day: Math.floor(ms / 86400000), hour: Math.floor(ms / 3600000) % 24, minute: Math.floor(ms / 60000) % 60, second: Math.floor(ms / 1000) % 60, millisecond: Math.floor(ms) % 1000 }; return Object.entries(time) .filter(val => val[1] !== 0) .map(([key, val]) => `${ val} ${ key}${ val !== 1 ? 's' : ''}`) .join(', ');};
输出:
formatDuration(1001); // '1 second, 1 millisecond'formatDuration(34325055574); // '397 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds'
现在好看多了。
转载地址:http://nrqii.baihongyu.com/