day.js 常用方法

文档地址 (中文)

Day.js 是一个轻量的 JavaScript 时间日期处理库,和 Moment.js 的 API 设计保持完全一样. 如果你曾经用过 Moment.js, 那么你已经知道如何使用 Day.js

Day.js 基本用法如下,相同的API,相同的链式操作。


dayjs().startOf('month').add(1, 'day').set('year', 2022).format('YYYY-MM-DD HH:mm:ss');

  • 和 Moment.js 相同的 API 和用法

  • 不可变数据 (Immutable)

  • 支持链式操作 (Chainable)

  • 仅 2kb 大小的微型库

  • 全浏览器兼容

Day.js 虽然仅有 2kb 大小,但是功能一点都没有阉割。包含了时间处理的全部常用方法。


如果您的项目里没有其他国家语言本地化的需求,那想缩小打包体积,提升开发体验只需要 replace(/moment/g, 'dayjs') 全局替换一下。就能从 Moment.js + locals 200kb 减小成 dayjs 2kb的体积。所有的API调用都保持不变,无需修改。

来感受一下 Dayjs 的语法吧,是不是很看起来亲切呢 (没错 这就是 moment 的语法嘛)

创建


dayjs() // 当前时间

dayjs('1995-12-25') // 1995-12-25

dayjs(Date.now() - 24 * 60 * 60 * 1000) // 昨天

格式化


dayjs().format('YYYY年MM月DD日 HH:mm:ss') // 2018年08月08日 00:00:00

dayjs().format('[YYYY]') // "[2018]"。[] 里的会原样输出。

操作


dayjs().add(7, 'days') // 之后的第7天

dayjs().subtract(1, 'months') // 上个月

dayjs().startOf('months') // 获取一月初

dayjs().endOf('year') // 获取一年年末

查询


dayjs('2010-10-20').isBefore('2010-10-21') // 早于

dayjs('2010-10-20').isAfter('2010-10-19') // 晚于

dayjs().isLeapYear() // 闰年

posted @ 2022-08-18 16:40  James2019  阅读(2048)  评论(0编辑  收藏  举报