在 day.js 中 diff 方法返回指定单位下两个日期时间之间的差异,默认以毫秒为单位,返回值可以为负数。
示例一、基础使用
默认返回毫秒差异
const date1 = dayjs('2022-11-14')
const date2 = dayjs('2022-01-25')
date1.diff(date2) // 25315200000
date2.diff(date1) // -25315200000
示例二、指定差异单位
要获取其他单位下的差异,则在第二个参数传入相应的单位。
const date1 = dayjs('2022-11-14')
const date2 = dayjs('2022-01-25')
date1.diff(date2, 'month') // 9
示例三、获得更高精度的差异
默认情况下 dayjs#diff
会将结果进位成整数。 如果要得到一个浮点数,将 true 作为第三个参数传入。
const date1 = dayjs('2022-11-14')
const date2 = dayjs('2022-01-25')
date1.diff(date2, 'week',true) //41.857142857142854
支持的单位列表
传入的单位对大小写不敏感,同时支持缩写和复数。 但是缩写是区分大小写的。
单位 | 缩写 | 详情 |
---|---|---|
day | d | 星期几 (星期天0,星期六6) |
week | w | 周 |
quarter | Q | 季度 |
month | M | 月份 (一月 0, 十二月 11) |
year | y | 年 |
hour | h | 时 |
minute | m | 分 |
second | s | 秒 |
millisecond | ms | 毫秒 |