momentjs 两个时间比较大小

isSameisBeforeisAfter去比较

isBefore

检查某个moment是否在另外一个moment之前:

js 复制代码
moment('2025-07-04').isBefore('2025-06-03'); // true

➕粒度限制(year month week isoWeek day hour minute second):

js 复制代码
moment('2025-07-04').isBefore('2025-06-03', 'year'); // false
moment('2025-07-04').isBefore('2024-06-03', 'year'); // true

isSame

js 复制代码
moment('2025-07-04').isSame('2025-06-03'); // false
js 复制代码
moment('2025-07-04').isSame('2025-06-03', 'month'); // false, 月份不同
moment('2025-07-04').isSame('2025-06-03', 'year'); // true, 年份相同
moment('2025-07-04').isSame('2025-06-03', 'day'); // false, 天不同

isAfter

js 复制代码
moment('2025-07-04').isAfter('2025-06-03'); // true

也可以粒度去比价,跟上面类似,就不多写了。

总示例

js 复制代码
moment('2025-07-04').isSame(moment(), 'days')
moment('2025-07-04').isBefore(moment(), 'days')
moment('2025-07-04').isAfter(moment(), 'days')

不同格式:

js 复制代码
const format = 'MM/D/YYYY'

const moment1 = moment('07/04/25',format);
const moment2 = moment('07/04/25',format);

moment1.isSame(moment2,'day') // true
moment1.isSame(moment2,'date') // true

用diff去比较两个时间,得到正负 0是相等

js 复制代码
const format = "HH:mm:ss MM/D/YYYY"
const startTime = moment('14:43:00 07/04/25', format);
const endTime = moment('14:43:00 07/04/25', format);

const diff1 = moment(endTime).diff(moment(startTime), 'years')
const diff2 = moment(endTime).diff(moment(startTime), 'months')
const diff3 = moment(endTime).diff(moment(startTime), 'days')
const diff4 = moment(endTime).diff(moment(startTime), 'minutes')
const diff5 = moment(endTime).diff(moment(startTime), 'seconds')
js 复制代码
let days = moment('2025-07-04').diff(moment('2025-07-01'), 'days')
// 相隔天数会把最后一天 也就是 7月4号也算上
相关推荐
岁岁种桃花儿29 分钟前
Vue核心语法第十一篇:绑定样式
前端·javascript·vue.js
程序员黑豆8 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
To_OC9 小时前
踩了个 TS 的坑之后,我终于把 type 和 interface 掰明白了
前端·react.js·typescript
GreenTea9 小时前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
浮生望9 小时前
前端API工程化:用 Mock 数据与 Axios 配置实现独立于后端的并行开发
前端
万少10 小时前
给 DeepSeek Harness 装个"应用商店":一条命令,595 个插件随你逛
前端·javascript·后端
波波00710 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
Brown.alexis11 小时前
es6知识点1-自备使用
前端·ecmascript·es6
小爬的老粉丝12 小时前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps