一、格式化日期
js
moment('2026-01-13 17:37:09').format('YYYY-MM-DD HH:mm:ss') // 2026-01-13 17:37:09
moment('2026-01-13 17:37:09').format('YYYY-M-D H:m:s') // 2026-1-13 17:37:9
二、日期范围
js
//昨天
[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之后
less
console.log(moment('2026-1-14')>moment('2026-1-13')); // true
console.log(moment('2026-1-11')>moment('2026-1-12')); //false
console.log(moment('2026-1-14').isAfter('2026-1-13')); // true
console.log(moment('2026-1-11').isAfter('2026-1-12')); //false
2、判断date1是否在date2之前
less
console.log(moment('2026-1-11')<moment('2026-1-12')); // true
console.log(moment('2026-1-11')<moment('2026-1-9')); //false
console.log(moment('2026-1-12').isBefore('2026-1-13')); // true
console.log(moment('2026-1-14').isBefore('2026-1-12')); //false
3、判断date1是否和date2相同
less
console.log(moment('2026-1-14').format('YYYY-MM-DD') === moment('2026-1-14').format('YYYY-MM-DD')); // true
console.log(moment('2026-1-16').format('YYYY-MM-DD') === moment('2026-1-14').format('YYYY-MM-DD')); //false
console.log(moment('2026-1-14').isSame(moment('2026-1-14'), 'day')); // true
console.log(moment('2026-1-16').isSame(moment('2026-1-14'), 'day')); // false
四、计算时间差
less
console.log(moment('2026-1-25').diff(moment('2026-1-20'), 'day')); // 5
console.log(moment('2026-1-1').diff(moment('2026-1-13'), 'day')); // -12
| 常用方法 | 说明 |
|---|---|
| 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拷贝 |