日期Day.js

169 阅读2分钟
Day.js简介

Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间。

文档 GitHub

Day.js特点
  • 轻量级:Day.js 的体积很小,只有约 5KB(压缩后),这使得它非常适合在性能敏感的项目中使用。

  • 无依赖:Day.js 不依赖于其他库或框架,可以独立使用。

  • 链式操作:支持链式调用,使得日期操作更加流畅和简洁。

  • 国际化支持:Day.js 支持国际化,可以轻松地格式化日期为不同的语言和文化格式。

  • 插件系统:Day.js 支持插件,允许开发者扩展其功能,例如添加新的日期格式或功能。

  • 日期解析:可以解析多种格式的日期字符串,包括 ISO 8601 格式。

  • 日期验证:提供日期验证功能,确保日期对象是有效的。

  • 日期操作:支持日期的加减操作,例如添加天数、月份或年份。

  • 格式化:提供灵活的日期格式化选项,可以自定义日期和时间的显示格式。

  • 比较和计算:可以比较两个日期的大小,计算两个日期之间的差异。

  • 易用性:API 设计简洁,易于上手,对于熟悉 Moment.js 的开发者来说,迁移成本很低。

  • 性能优化:Day.js 在设计时考虑了性能,提供了更快的日期操作和格式化功能。

下载
// 下载
npm install dayjs
时间控件常用方法
// 当天
[dayjs().startOf('day'), dayjs()]
// 3天内
[dayjs().add(-2, 'd').startOf('day'), dayjs()]
// 7天内
[dayjs().add(-6, 'd').startOf('day'), dayjs()]
// 15天内
[dayjs().add(-14, 'd').startOf('day'), dayjs()]
// 30天内
[dayjs().add(-29, 'd').startOf('day'), dayjs()]
// 90天内
[dayjs().add(-89, 'd').startOf('day'), dayjs()]
// 前半年 2023-01-01 00:00 - 2023-06-30 23:59
[dayjs().startOf('year').startOf('month'), dayjs().endOf('year').month(5).endOf('month')]
// 后半年 2023-07-01 00:00 - 2023-12-31 23:59
[dayjs().month(6).startOf('month'), dayjs().endOf('year').month(11).endOf('month')]
// 第一季度
[dayjs().startOf('year').month(0).startOf('month'), dayjs().startOf('year').month(2).endOf('month')]
// 第二季度
[dayjs().startOf('year').month(3).startOf('month'), dayjs().startOf('year').month(5).endOf('month')]
// 第三季度
[dayjs().startOf('year').month(6).startOf('month'), dayjs().startOf('year').month(8).endOf('month')]
// 第四季度
[dayjs().startOf('year').month(9).startOf('month'), dayjs().startOf('year').month(11).endOf('month')]
格式化
// 当前时间
const date = dayjs();
// 格式化为不同的日期和时间格式
console.log(date.format('YYYY年MM月DD日')); // "2024年06月07日"
console.log(date.format('HH:mm:ss')); // "15:23:45"
console.log(date.format('h:mm A')); // "3:23 PM"