介绍
在Web开发中,日期的处理有时候总是头疼的很,这是一个非常普遍的现象,在现代化Web开发的过程中,我们一般都会通过第三方库来解决开发中的痛点,对于日期处理,就已经有非常优秀的第三方库来帮助我们解决问题了,其中moment和dayjs都是其中的佼佼者,其中,dayjs相比momentjs更加的轻量级,Moment.js 的 2kB 轻量化方案,而和momentjs具有高度一致的API,因此,如果你用过momentjs,那么就不用担心不会使用dayjs,咱们一起来看看吧!
Github
Github上提供了相应的中文文档,不必担心不理解相关API的含义和使用方式!
https://github.com/iamkun/dayjs
dayjs() .startOf('month') .add(1, 'day') .set('year', 2018) .format('YYYY-MM-DD HH:mm:ss')
相关特性
- 和 Moment.js 相同的 API 和用法
- 不可变数据 (Immutable)
- 支持链式操作 (Chainable)
- 国际化 I18n
- 仅 2kb 大小的微型库
- 全浏览器兼容
安装指南
可以有如下多种方法安装使用 DayJS:
- NPM:
npm install dayjs --saveimport dayjs from 'dayjs'// 或者 CommonJS// var dayjs = require('dayjs');dayjs().format()
- CDN:
- 下载到您自己的服务器上
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()) // 查询
国际化 I18n
Dayjs 支持国际化
但除非手动加载,多国语言默认是不会被打包到工程里的
import 'dayjs/locale/es' // 按需加载dayjs.locale('es') // 全局使用西班牙语dayjs('2018-05-05') .locale('zh-cn') .format() // 在这个实例上使用简体中文
插件
插件是一些独立的程序,可以给 DayJS 增加新功能和扩展已有功能
import advancedFormat from 'dayjs/plugin/advancedFormat' // 按需加载插件dayjs.extend(advancedFormat) // 使用插件dayjs().format('Q Do k kk X x') // 使用扩展后的API
总结
momentjs和dayjs都是非常优秀的插件,摆脱日期处理的烦恼,如果你疲于应对前端日期处理,那么可以尝试momentjs和dayjs,希望对你有所帮助!