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拷贝
相关推荐
用户69371750013843 小时前
Google 正在“收紧侧加载”:陌生 APK 安装或需等待 24 小时
android·前端
蓝帆傲亦3 小时前
Web 前端搜索文字高亮实现方法汇总
前端
用户69371750013843 小时前
Room 3.0:这次不是升级,是重来
android·前端·google
漫随流水5 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
踩着两条虫6 小时前
VTJ.PRO 核心架构全公开!从设计稿到代码,揭秘AI智能体如何“听懂人话”
前端·vue.js·ai编程
jzlhll1237 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
蓝冰凌8 小时前
Vue 3 中 defineExpose 的行为【defineExpose暴露ref变量】详解:自动解包、响应性与实际使用
前端·javascript·vue.js
奔跑的呱呱牛8 小时前
generate-route-vue基于文件系统的 Vue Router 动态路由生成工具
前端·javascript·vue.js
柳杉8 小时前
从动漫水面到赛博飞船:这位开发者的Three.js作品太惊艳了
前端·javascript·数据可视化