高级用法

日期计算

dayjs().add(1, 'day')
// 例子
const time = '2020-12-31T15:00:00.000Z'
const formatTime = dayjs(time).add(1, 'day').format('YYYY-MM-DD HH:mm:ss')
// 输出 2021-01-01 15:00:00

上述代码中,add方法的第一个参数是数字,第二个参数是字符串,字符串的值可以是yearmonthdayhourminutesecondmillisecond,分别表示年、月、日、时、分、秒、毫秒。 由此可知,上述代码的含义是在2020-12-31T15:00:00.000Z的基础上,加一天,即2021-01-01T15:00:00.000Z

日期比较

dayjs().isBefore(dayjs('2020-12-31T15:00:00.000Z'))
// 例子
const time = '2020-12-20T15:00:00.000Z'
const isBefore = dayjs(time).isBefore(dayjs('2020-12-31T15:00:00.000Z'))
// 输出 true

上述代码中,isBefore方法的参数是一个dayjs对象,返回值是布尔值,表示当前时间是否在参数时间之前。

日期差

dayjs().diff(dayjs('2020-12-31T15:00:00.000Z'), 'day')
// 例子
const time = '2020-12-20T15:00:00.000Z'
const diff = dayjs(time).diff(dayjs('2020-12-31T15:00:00.000Z'), 'day')
// 输出 -11

上述代码中,diff方法的第一个参数是一个dayjs对象,第二个参数是字符串,字符串的值可以是yearmonthdayhourminutesecondmillisecond ,分别表示年、月、日、时、分、秒、毫秒。 上述代码的功能是计算2020-12-20T15:00:00.000Z2020-12-31T15:00:00.000Z的时间差,返回值是数字,表示两个时间的差值,单位是第二个参数的单位。

日期范围

dayjs().isBetween(dayjs('2020-12-31T15:00:00.000Z'), dayjs('2021-01-01T15:00:00.000Z'))
// 例子
const time = '2020-12-20T15:00:00.000Z'
const isBetween = dayjs(time).isBetween(dayjs('2020-12-31T15:00:00.000Z'), dayjs('2021-01-01T15:00:00.000Z'))
// 输出 false

上述代码中,isBetween方法的第一个参数是一个dayjs对象,第二个参数是一个dayjs对象,返回值是布尔值,表示当前时间是否在两个参数时间之间。

日期最大值

dayjs.max(dayjs('2020-12-31T15:00:00.000Z'), dayjs('2021-01-01T15:00:00.000Z'))
// 例子
const time = '2020-12-20T15:00:00.000Z'
const max = dayjs.max(dayjs(time), dayjs('2021-01-01T15:00:00.000Z'))
// 输出 2021-01-01T15:00:00.000Z

上述代码中,dayjs.max方法的参数是一个或多个dayjs对象,返回值是一个dayjs对象,表示参数中最大的时间。

日期最小值

dayjs.min(dayjs('2020-12-31T15:00:00.000Z'), dayjs('2021-01-01T15:00:00.000Z'))
// 例子
const time = '2020-12-20T15:00:00.000Z'
const min = dayjs.min(dayjs(time), dayjs('2021-01-01T15:00:00.000Z'))
// 输出 2020-12-20T15:00:00.000Z

上述代码中,dayjs.min方法的参数是一个或多个dayjs对象,返回值是一个dayjs对象,表示参数中最小的时间。

获取近七天的日期

const sevenDays = []
for (let i = 0; i < 7; i++) {
  sevenDays.push(dayjs().subtract(i, 'day').format('YYYY-MM-DD'))
}
// 输出
[
  '2021-01-01',
  '2020-12-31',
  '2020-12-30',
  '2020-12-29',
  '2020-12-28',
  '2020-12-27',
  '2020-12-26'
]

上述代码中,subtract方法的第一个参数是数字,第二个参数是字符串,字符串的值可以是yearmonthdayhourminutesecondmillisecond ,分别表示年、月、日、时、分、秒、毫秒。 该方法的功能是在当前时间的基础上,减去指定的时间,返回值是一个dayjs对象,表示减去指定时间后的时间。

获取近七天的日期和星期

const sevenDays = []
for (let i = 0; i < 7; i++) {
  sevenDays.push({
    date: dayjs().subtract(i, 'day').format('YYYY-MM-DD'),
    week: dayjs().subtract(i, 'day').format('dddd')
  })
}
// 输出
[
  {date: '2021-01-01', week: '星期一'},
  {date: '2020-12-31', week: '星期日'},
  {date: '2020-12-30', week: '星期六'},
  {date: '2020-12-29', week: '星期五'},
  {date: '2020-12-28', week: '星期四'},
  {date: '2020-12-27', week: '星期三'},
  {date: '2020-12-26', week: '星期二'}
]

其中,dddd表示星期几,dddd的值可以是dddddddddd,分别表示星期几、星期几的缩写、星期几的缩写、星期几的数字。 例如,dddd的值是星期一ddd的值是周一dd的值是d的值是1

Last Updated:
Contributors: 黄定鑫