什么是Day.js
Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果您曾经用过 Moment.js, 那么您已经知道如何使用 Day.js
简单地说,只要你会Moment.js,那么你就会Day.js!
但是我们知道的,Moment.js 的大小是200多k,
Day.js的大小是2kB
100倍的差距,拥有同样强大的 API
安装
npm install dayjs --save
国际化
Day.js 支持几十个国家语言
但除非手动加载,多国语言默认是不会被打包到工程里的
你可以随意在各个语言之间自由切换:
很爽对不对,同时还支持局部指定语言,就是说,你可以这个时间使用中文,那个时间使用英文,或者做一个按钮,让用户可以随意切换!全凭你自己的意愿。
dayjs('2018-05-05').locale('zh-cn').format() // 在这个实例上使用简体中文
API
Day.js 有很多 API 来解析、处理、校验、增减、展示时间和日期
dayjs('2018-08-08') // 解析
dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // 展示
dayjs().set('month', 3).month() // 获取
dayjs().add(1, 'year') // 处理
dayjs().isBefore(dayjs()) // 查询
API链接
https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md
插件
插件是一些独立的程序,可以给 Day.js 增加新功能和扩展已有功能
默认情况下,Day.js 只包含核心的代码,并没有安装任何插件
您可以加载多个插件来满足您的需求
例如官方提供的插件就有:
- AdvancedFormat 扩展了 dayjs().format API 以支持更多模版
- RelativeTime 增加了 .from .to .fromNow .toNow 4个 API 来展示相对的时间 (e.g. 3 小时以前).
- IsLeapYear 增加了 .isLeapYear API 返回一个 boolean 来展示一个 Dayjs's 的年份是不是闰年.
- WeekOfYear 增加了 .week() API 返回一个 number 来表示 Dayjs 的日期是年中第几周.
- IsSameOrAfter 增加了 .isSameOrAfter() API 返回一个 boolean 来展示一个时间是否和一个时间相同或在一个时间之后.
- IsSameOrBefore 增加了 .isSameOrBefore() API 返回一个 boolean 来展示一个时间是否和一个时间相同或在一个时间之前.
等等。。。。。。。。。
当然,你如果感兴趣也可以自己定义一个插件: