Day.js —— 一个轻量型的日期时间库 moment 的完美代替品

3,987 阅读1分钟

对于日期时间处理,常见有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上看吧。