介绍
@parade/pretty-ms 是一个 npm 包,它提供了一个用于将毫秒转换为人类可读形式的函数。在前端开发中,经常需要将时间戳转换为人类可读的形式,比如将 3600000(一个小时)转换为 "1 hour"。在这种情况下,@parade/pretty-ms 是非常有用的。
在本篇文章中,我们将详细介绍 @parade/pretty-ms 的使用方法及其在项目中的应用。
安装
你可以使用 npm 来安装 @parade/pretty-ms,命令如下:
npm install @parade/pretty-ms
使用
@parade/pretty-ms 提供了一个函数 prettyMs,该函数接受一个毫秒数(number 类型)作为参数,返回一个字符串,表示该毫秒数的人类可读形式。下面是一个简单的例子:
const prettyMs = require('@parade/pretty-ms'); console.log(prettyMs(1000)); // "1s" console.log(prettyMs(60000)); // "1m" console.log(prettyMs(3600000)); // "1h" console.log(prettyMs(86400000)); // "1d"
prettyMs 函数的默认行为是将毫秒数转换为最简单的单位。例如,1000 毫秒会被转换为 "1s",而不是 "0m 1s"。如果你想显示更多单位,可以传递第二个参数,它应该是一个对象。下面是一个例子:
console.log(prettyMs(12345, { verbose: true })); // "12s 345ms" console.log(prettyMs(123456789, { verbose: true })); // "3d 15h 17m 36s 789ms"
当 verbose 参数为 true 时,prettyMs 会显示更多的单位,如 "ms"、"s"、"m"、"h"、"d"。
应用
@parade/pretty-ms 可以应用于前端开发中的很多场景。下面是一些例子:
显示上传/下载速度
在前端中,经常需要显示上传或下载文件的速度。这时,我们可以使用 @parade/pretty-ms 来格式化速度值。
const prettyMs = require('@parade/pretty-ms'); const speed = 12345; // 12345 MB/s console.log(`Speed: ${prettyMs(speed * 1000, { verbose: true, unitCount: 2 })}`); // Speed: 12.35 GB/s
在这个例子中,我们将速度乘以 1000,以将其转换为每秒的字节数。然后,我们使用 prettyMs 格式化速度值,并通过 unitCount 参数控制显示的单位数量。
显示过去时间
另一个常见的应用场景是显示距离当前时间已过去了多少时间。在这种情况下,我们可以使用 @parade/pretty-ms 来格式化时间间隔值。
const prettyMs = require('@parade/pretty-ms'); const start = new Date("2022-01-01T00:00:00.000Z"); const elapsed = Date.now() - start.getTime(); console.log(`Elapsed time: ${prettyMs(elapsed, { verbose: true, unitCount: 2 })}`); // Elapsed time: 1d 12h
在这个例子中,我们使用 Date.now() 和 Date.getTime() 获取时间戳,并计算时间间隔值。然后,我们使用 prettyMs 格式化时间间隔值,并通过 unitCount 参数控制显示的单位数量。
总结
@parade/pretty-ms 是一个非常有用的 npm 包,它可以将毫秒转换为人类可读形式。在前端开发中,@parade/pretty-ms 可以应用于很多场景,如显示上传/下载速度、显示过去时间等。我们应该熟练掌握 @parade/pretty-ms 的使用方法,以便在项目中加快开发速度。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb093b5cbfe1ea06110e0