碎片时间学编程「19]:时间格式化处理

返回人类可读格式毫秒数。

除以 ms 适当的值获得 day、hour、minute、 second 和 millisecond  的适当值。

使用 Object.entries() 和 Array.prototype.filter() 仅保留非零值。

用 Array.prototype.map() 为每个值创建字符串,并适当地进行计算。

用 String.prototype.join() 将值组合成一个字符串。

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(', ');

};

更多内容请访问我的网站:https://www.icoderoad.com

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容