编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

前端日期处理需谨慎,这款2kb的插件帮你解决烦恼——DayJS

wxchong 2024-09-07 01:23:04 开源技术 9 ℃ 0 评论

介绍

在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 --save
import dayjs from 'dayjs'
// 或者 CommonJS
// var dayjs = require('dayjs');
dayjs().format()
  • CDN:
<!-- 最新的压缩后的 JavaScript 文件 -->
<script src="。。。"></script>
<script>
 dayjs().format()
</script>
  • 下载到您自己的服务器上

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,希望对你有所帮助!



Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表