Moment.js常用

一、格式化日期

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拷贝
相关推荐
kyriewen117 分钟前
每日知识点:this 指向之谜——是谁在 call 我?
前端·javascript·vue.js·前端框架·ecmascript·jquery·html5
浩星8 分钟前
electron系列6之性能优化:从启动慢到内存泄漏
前端·javascript·electron
飞Link12 分钟前
pprint 全量技术手册:复杂数据结构的结构化输出引擎
开发语言·前端·python
Ruihong15 分钟前
Vue 迁移 React 实战:VuReact 一键自动化转换方案
前端·vue.js
opbr17 分钟前
还在手写 env 类型定义?这个 Vite 插件帮你自动搞定!
前端·vite
Qinana17 分钟前
前端正则表达式全解:从基础语法到实战应用
前端·javascript·面试
烟话623 分钟前
vue3响应式基础
前端·javascript·vue.js
boombb26 分钟前
用户反馈入口
前端
im_AMBER28 分钟前
万字长文:手撕JS深浅拷贝完全指南
前端·javascript·面试
@大迁世界33 分钟前
20.“可复用组件”具体指的是什么?如何设计与产出这类组件?.
开发语言·前端·javascript·ecmascript