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拷贝
相关推荐
pe7er2 小时前
window管理开发环境篇 - 持续更新
前端·后端
We་ct3 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·javascript·算法·leetcode·typescript
陈随易6 小时前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·后端·程序员
冰暮流星7 小时前
javascript之事件代理/事件委托
前端
陈随易8 小时前
AI时代,你还在坚持手搓文章吗
前端·后端·程序员
里欧跑得慢10 小时前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web
IT_陈寒11 小时前
Vue的这个响应式陷阱,我debug了一整天才爬出来
前端·人工智能·后端
kyriewen11 小时前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
去伪存真11 小时前
我自己写的第一个skills--project-core-standards
前端·agent
Data_Journal11 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库