老板让我把时间转化为毫秒

大家好,我是前端实验室的大师兄!

相信大家都听说过 day.js 这些时间转换工具,一般的时间格式转换它都能处理,但是总有那些不按套路出牌的设计,非要把时间段转化为毫秒,什么2天转化为毫秒,俩小时转化为毫秒,各种格式都要转化为毫秒

奇葩需求年年有,尤其今年特别多

今天就给大家推荐一个毫秒转化工具ms

ms

从它的命名就可以看出它的专一性和特点:可以轻松地将各种时间格式转换为毫秒。

特点

  • 支持 TypeScript

  • 适用于Node.js和浏览器

  • 如果向 提供数字ms,则返回带有单位的字符串

  • 如果提供了包含数字的字符串,则将其作为数字返回(例如:它返回100for '100')

  • 如果您传递带有数字和有效单位的字符串,则返回等效毫秒数

使用

安装

npm i ms

使用:

如果你使用TypeScript开发,可以从ms里直接导出数据类型,使用一个类型断言来强制一个string

import ms, { StringValue } from 'ms';

// 使用导出的类型
function example(value: StringValue) {
  ms(value);
}

// 此函数只接受与“ms”兼容的字符串
example('1 h');

各种类型时间转化为毫秒

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"

github链接:https://github.com/vercel/ms

最后

欢迎加入前端实验室读者交流群,群里有不少技术大神,不定时会分享一些技术要点,更有一些资源收藏爱好者会分享一些优质的学习资料。吃瓜、摸鱼、白嫖技术就等你了~

进群方式:在下方公众号后台,回复 111 ,按提示操作即可进群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值