Day.js 对象还有很多查询的方法。

# 是否之前

这表示 Day.js 对象是否在另一个提供的日期时间之前。

dayjs().isBefore(dayjs('2011-01-01')) // 默认毫秒

如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。

dayjs().isBefore('2011-01-01', 'year')

各个传入的单位对大小写不敏感,支持缩写和复数。

# 是否相同

这表示 Day.js 对象是否和另一个提供的日期时间相同。

dayjs().isSame(dayjs('2011-01-01')) // 默认毫秒

如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。

当使用第二个参数时,将会连同去比较更大的单位。 如传入 month 将会比较 monthyear。 传入 day 将会比较 daymonthyear

dayjs().isSame('2011-01-01', 'year')

各个传入的单位对大小写不敏感,支持缩写和复数。

注意

isSame() 方法不传参数或参数为 undefined 都默认返回true

# 是否之后

这表示 Day.js 对象是否在另一个提供的日期时间之后。

dayjs().isAfter(dayjs('2011-01-01')) // 默认毫秒

// 其他写法
dayjs('2011-01-02').isAfter('2011-01-01') // true
dayjs('2011-01-02', 'YYYY-MM-DD').isAfter('2011-01-01') // true
dayjs(dayjs('2011-01-02')).isAfter(dayjs('2011-01-01')) // true
dayjs(dayjs('2011-01-02', 'YYYY-MM-DD')).isAfter(dayjs('2011-01-01', 'YYYY-MM-DD')) // true
dayjs(new Date('2011-01-02')).isAfter(new Date('2011-01-01')) // true

如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。

dayjs().isAfter('2011-01-01', 'year')

各个传入的单位对大小写不敏感,支持缩写和复数。

# 是否相同或之前

这表示 Day.js 对象是否和另一个提供的日期时间相同或在其之前。

注意

此功能依赖 IsSameOrBefore 插件

dayjs.extend(isSameOrBefore)
dayjs().isSameOrBefore(dayjs('2011-01-01')) // 默认毫秒

如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。

dayjs().isSameOrBefore('2011-01-01', 'year')

各个传入的单位对大小写不敏感,支持缩写和复数。

# 是否相同或之后

这表示 Day.js 对象是否和另一个提供的日期时间相同或在其之后。

注意

此功能依赖 IsSameOrAfter 插件

dayjs.extend(isSameOrAfter)
dayjs().isSameOrAfter(dayjs('2011-01-01')) // 默认毫秒

如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。

dayjs().isSameOrAfter('2011-01-01', 'year')

各个传入的单位对大小写不敏感,支持缩写和复数。

# 是否两者之间

这表示 Day.js 对象是否在其他两个的日期时间之间。

注意

此功能依赖 IsBetween 插件

dayjs.extend(isBetween)
dayjs('2010-10-20').isBetween('2010-10-19', dayjs('2010-10-25')) 
// 默认毫秒

如果想使用除了毫秒以外的单位进行比较,则将单位作为第三个参数传入。

dayjs().isBetween('2010-10-19', '2010-10-25', 'year')

各个传入的单位对大小写不敏感,支持缩写和复数。

支持的单位列表

第四个参数是设置包容性。 [ 表示包含。 ( 表示排除。

要使用包容性参数,必须同时传入两个指示符。

dayjs('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '[)')

# 是否是Day.js

这表示一个变量是否为 Day.js 对象。

dayjs.isDayjs(dayjs()) // true
dayjs.isDayjs(new Date()) // false

这和使用 instanceof 的结果是一样的:

dayjs() instanceof dayjs // true

# 是否闰年

查询 Day.js 对象的年份是否是闰年。

注意

此功能依赖 IsLeapYear 插件

dayjs.extend(isLeapYear)

dayjs('2000-01-01').isLeapYear() // true
Last Updated: 9/6/2023, 10:18:48 AM