对于日期时间处理,常见有moment.js luxon等库,然而这些库在个人看来有点大了,而平常人往往只用到其中个别功能,这就有点浪费,当然也可以抽取想要模块,但稍显繁琐。对于这种情况,我一般喜欢自己封装时间处理方法,但在发现有这么一个2K大小,出现不久瞬间飙涨到过8500star的日期时间js库dayjs后,觉得值得去看看会不会对上眼。
按Github上说明,dayjs有如下特性:
- 🕒 Familiar Moment.js API & patterns
- 💪 Immutable
- 🔥 Chainable
- 📦 2kb mini library
- 👫 All browsers support 光是不可变对象和链式调用就很诱人了.
安装使用也很简单:
npm install dayjs --save
var dayjs = require('dayjs');
dayjs().format();
然后再从这么一段代码体验下其强大功能:
dayjs()
.endOf('month')
.add(1, 'day')
.set('year', 2018)
.format('YYYY-MM-DD HH:mm:ss');
链式处理:获取当前月最后一天->加上一天->再减去一年后的时间。功能易用,且这种链式方式个人挺喜欢的。
API看起来和moment是一样的,感觉可以把老项目里的moment.js替换成Day.js了,体积能减小很多呢。
还有很多类似好用的函数,不多做说明,更多细节上Github上看吧。