Day.js是一个轻量级的JavaScript日期库,具有简单易用、无依赖和体积小的特点。下面将介绍Day.js的使用方法。
安装与基本用法:
可以通过 npm 或者 yarn 来安装 Day.js:
# 使用 npm
$ npm install dayjs
# 使用 yarn
$ yarn add dayjs
# 引入
import dayjs from 'dayjs';
使用 dayjs() 函数创建一个 Day.js 实例,然后就可以通过该实例来对日期进行各种操作。
# 初始化日期/时间
dayjs().format('YYYY-MM-DD'); // 初始化日期
dayjs().format('YYYY-MM-DD HH:mm:ss'); // 初始化日期时间
# 格式日期/时间
dayjs(value).format('YYYY-MM-DD'); // 初始化日期
dayjs(value).format('YYYY-MM-DD HH:mm:ss'); // 初始化日期时间
加减天数、小时、分钟等等的API方法。
# 在当前日期进行加减操作
dayjs().add(1, 'day').format('YYYY-MM-DD'); // 2022-04-21 今天(2022-04-20)加上1天
dayjs().add(1, 'month').format('YYYY-MM-DD'); // 2022-05-20 今天(2022-04-20)加上一月
dayjs().subtract(1, 'day').format('YYYY-MM-DD'); // 2020-04-19 今天(2022-04-20)减去1天
# 在指定日期进行加减操作
dayjs("2022-01-10").add(1, 'day').format('YYYY-MM-DD'); // 2022-01-11
dayjs("2022-01-10").add(1, 'month').format('YYYY-MM-DD'); // 2022-02-10
dayjs("2022-01-10").subtract(1, 'day').format('YYYY-MM-DD'); // 2020-01-09
获取某年某月的第一天或最后一天。
# 获取当前月(4月)的第一天
dayjs().startOf('month').format('YYYY-MM-DD') // 2022-04-01
# 获取当前月(4月)的最后一天
dayjs().endOf('month').format('YYYY-MM-DD') // 2022-04-30
Day.js 还支持同时对多个日期进行操作。
1.判断一个日期是否在另外一个日期之前 isBefore
// day.js 为 2022-04-20
console.log( dayjs().isBefore(dayjs('2011-01-01'))) // false
console.log( dayjs('2022-04-20').isBefore(dayjs('2022-04-21'))) // true
console.log( dayjs('2022-04-20').isBefore(dayjs('2022-04-20'))) // 日期相同时也为false
2.判断一个日期是否在另外一个日期之后 isAfter
// day.js 为 2022-04-20
console.log('isAfter', dayjs().isAfter(dayjs('2011-01-01'))) // true
console.log('isAfter', dayjs('2022-04-20').isAfter(dayjs('2022-04-21'))) // false
console.log('isAfter', dayjs('2022-04-20').isAfter(dayjs('2022-04-20'))) // 相同也为false
3.判断两个日期是否相同 isSame
// day.js 为 2022-04-20
console.log('isSame', dayjs().isSame(dayjs('2011-01-01'))) // false
console.log('isSame', dayjs('2022-04-20').isSame(dayjs('2022-04-21'))) // false
console.log('isSame', dayjs('2022-04-20').isSame(dayjs('2022-04-20'))) // true
4.计算两个日期之间的天数差
const start = dayjs('2022-01-01');
const end = dayjs('2022-01-10');
console.log(end.diff(start, 'day')); // 输出10,表示两个日期之间的天数差