摘要:方便灵巧,功能强大。唯一的缺点是,对于前端来讲,它的包太太太太太大了。我是的重度用户,但它的大小时刻都在折磨人。所以,开源社区有了一些精简的方案。的使用方法,也和基本一致。其实对于绝大部分的时间操作场景,和更符合使用要求。
关于时间的操作,一直在使用momentjs这个库。方便灵巧,功能强大。唯一的缺点是,对于前端HTML来讲,它的包太太太太太大了。
我是momentjs的重度用户,但它的大小时刻都在折磨人。虽然方便高效,可这动辄200K的大小,对于首页加载速度来讲简直就是一场灾难。所以,开源社区有了一些精简的方案。如dayjs和miment。
dayjsdayjs本身就是对标momentjs进行开发的,看作者的官方介绍:
Day.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API. If you use Moment.js, you already know how to use Day.js.
它的用法非常简单。
dayjs().startOf("month").add(1, "day").set("year", 2018).format("YYYY-MM-DD HH:mm:ss");
是不是很momentjs很相似?不,其实它们就是一模一样的。dayjs的API和moment几乎一模一样,所以如果想要替换到现有的momentjs代码,直接替换为dayjs即可,调用语句绝大部分情况下可以一字不改。
dayjs的大小有多少呢?2KB。再想想momentjs的大小。
mimentmiment同样也是一个极简的时间处理库,压缩后的代码甚至达到了1KB左右,比dayjs还小。
与包大小相应的,作者团队只保留了momentjs中核心方法,但其实这些方法在普通场景下已经足够。
miment的使用方法,也和momentjs基本一致。例如:
miment().add(1, "YYYY").add(2, "MM").add(-3, "DD") // 增加 1 年 2 个月又减回 3 天 miment().isBetween("2000-01-01","2020-01-01") // true miment().isBefore("2000-01-01") // false miment().format("YYYY年MM月DD日 星期ww") // 2018年04月09日 星期1 *周日对应星期0*
想要取得多带带的年月日,更简单
miment().format("YYYY") // 2018 miment().format("MM") // 04 miment().format("DD") // 09 miment().format("hh") // 23 miment().format("mm") // 57 miment().format("ss") // 16 miment().format("SSS") // 063 miment().format("ww") // 1 miment().format("WW") // 一结语
对于momentjs,大部分开发者都是又爱又恨,又或者大觉不爱。其实对于绝大部分的时间操作场景,dayjs和miment更符合使用要求。尤其对于非SSR的场合,想想那精简近200KB的首屏渲染速度,真的是非常有吸引力。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/108837.html
介绍 Miment 是一个轻量级的时间库(打包压缩后只有1K),没有太多的方法,Miment的设计理念就是让你以几乎为零的成本快速上手,无需一遍一遍的撸文档 由来 首先 致敬一下Moment,非常好用的一个时间库,我本身也是Moment重度使用者,用习惯了Moment,一碰到需要处理时间的需求,立马Moment,不过有时候想想,Moment给我们提供了那么多的功能,但是我们天天用的,也就那么一两个...
介绍 Miment 是一个轻量级的时间库(打包压缩后只有1K),没有太多的方法,Miment的设计理念就是让你以几乎为零的成本快速上手,无需一遍一遍的撸文档 由来 首先 致敬一下Moment,非常好用的一个时间库,我本身也是Moment重度使用者,用习惯了Moment,一碰到需要处理时间的需求,立马Moment,不过有时候想想,Moment给我们提供了那么多的功能,但是我们天天用的,也就那么一两个...
介绍 Miment 是一个轻量级的时间库(打包压缩后只有1K),没有太多的方法,Miment的设计理念就是让你以几乎为零的成本快速上手,无需一遍一遍的撸文档 由来 首先 致敬一下Moment,非常好用的一个时间库,我本身也是Moment重度使用者,用习惯了Moment,一碰到需要处理时间的需求,立马Moment,不过有时候想想,Moment给我们提供了那么多的功能,但是我们天天用的,也就那么一两个...
showImg(https://segmentfault.com/img/bV9wV7?w=1952&h=712);Moment.js 是一个大而全的 JS 时间库,很大地方便了我们处理日期和时间。但是 Moment.js太重了(200k+ with locals),可能一般项目也只使用到了她几个常用的API。虽然社区也有几个轻量的时间库,要想迁移过去又会增加新的学习和迁移成本。 如果能有一个和 ...
阅读 3534·2021-11-23 09:51
阅读 2760·2021-11-23 09:51
阅读 627·2021-10-11 10:59
阅读 1634·2021-09-08 10:43
阅读 3193·2021-09-08 09:36
阅读 3260·2021-09-03 10:30
阅读 3258·2021-08-21 14:08
阅读 2155·2021-08-05 09:59