NPM酷库,每天两分钟,了解一个流行NPM库。

在JS中,最常用的时间单位就是毫秒,setTimeout()Date.now() 等函数用到的数字表示时间,其单位就是毫秒。直接理解这些数字比较困难,有时候我们需要将表示毫秒的数字转换成字符串,人能直接理解的文本。比如记录、输出程序的运行时间等场景。

ms

ms 就是一个专门用来转换时间格式的库,能够直接将数字类型的值转换为文本描述,也能将文本描述的时间转换为单位为毫秒的数字。

将文本转换为数字:

const ms = require('ms');

ms('2 days')  // 172800000
ms('1d')      // 86400000
ms('10h')     // 36000000
ms('2.5 hrs') // 9000000
ms('2h')      // 7200000
ms('1m')      // 60000
ms('5s')      // 5000
ms('1y')      // 31557600000
ms('100')     // 100
ms('-3 days') // -259200000
ms('-1h')     // -3600000
ms('-200')    // -200

将数字转换为文本:

ms(60000)             // "1m"
ms(2 * 60000)         // "2m"
ms(-3 * 60000)        // "-3m"
ms(ms('10 hours'))    // "10h"

输出详细时间描述:

ms(60000, { long: true })             // "1 minute"
ms(2 * 60000, { long: true })         // "2 minutes"
ms(-3 * 60000, { long: true })        // "-3 minutes"
ms(ms('10 hours'), { long: true })    // "10 hours"

参考资料

https://github.com/zeit/ms

欢迎关注公众号:梁兴臣

梁兴臣

每天了解一个NPM库,一年后成为Node.js高手


脉冲云_梁兴臣
616 声望194 粉丝

脉冲云CTO,JS全栈开发,DevOps实施,开发体验优化,开发效率提升