一、格式化日期
moment('2026-01-13 17:37:09').format('YYYY-MM-DD HH:mm:ss')
moment('2026-01-13 17:37:09').format('YYYY-M-D H:m:s')
二、日期范围
[moment().subtract(1, 'days'), moment().subtract(1, 'days')]
[moment(), moment()]
[moment().add(1, 'days'), moment().add(1, 'days')]
[moment().weekday(-7), moment().weekday(-1)]
[moment().weekday(0), moment().weekday(6)]
[moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
[moment().startOf('month'), moment().endOf('month')]
三、比较日期
1、判断date1是否在date2之后
console.log(moment('2026-1-14')>moment('2026-1-13'));
console.log(moment('2026-1-11')>moment('2026-1-12'));
console.log(moment('2026-1-14').isAfter('2026-1-13'));
console.log(moment('2026-1-11').isAfter('2026-1-12'));
2、判断date1是否在date2之前
console.log(moment('2026-1-11')<moment('2026-1-12'));
console.log(moment('2026-1-11')<moment('2026-1-9'));
console.log(moment('2026-1-12').isBefore('2026-1-13'));
console.log(moment('2026-1-14').isBefore('2026-1-12'));
3、判断date1是否和date2相同
console.log(moment('2026-1-14').format('YYYY-MM-DD') === moment('2026-1-14').format('YYYY-MM-DD'));
console.log(moment('2026-1-16').format('YYYY-MM-DD') === moment('2026-1-14').format('YYYY-MM-DD'));
console.log(moment('2026-1-14').isSame(moment('2026-1-14'), 'day'));
console.log(moment('2026-1-16').isSame(moment('2026-1-14'), 'day'));
四、计算时间差
console.log(moment('2026-1-25').diff(moment('2026-1-20'), 'day'));
console.log(moment('2026-1-1').diff(moment('2026-1-13'), 'day'));
五、案例
moment().date() === 1
| 常用方法 | 说明 |
|---|
| moment().startOf('day').format('YYYY-MM-DD HH:ss:mm') | 当前时刻设为当天开始时间 YYYY-MM-DD 00:00:00 【day、month、year......】 |
| moment().endOf('day').format('YYYY-MM-DD HH:ss:mm') | 当前时刻设为当天开始时间 YYYY-MM-DD 23:59:59 【day、month、year......】 |
| moment().clone() | moment拷贝 |