You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dayjs判断MongoDB返回的日期是否至少已过去5分钟

功能实现方案

MongoDB返回的是标准ISO 8601格式的UTC时间字符串,dayjs原生支持直接解析该格式,无需额外做格式转换。

核心逻辑非常简单:先计算当前时间往前推5分钟的时间节点,只要待判断的日期早于或等于这个节点,就说明是至少5分钟之前的时间。

完整代码实现

// 入参为MongoDB返回的ISO格式时间字符串
function isAtLeast5MinutesAgo(targetDateStr) {
  // 生成当前时间减去5分钟的时间节点
  const fiveMinutesAgo = dayjs().subtract(5, 'minute');
  // 反向判断:目标时间如果不在5分钟前到当前的时间区间内,就满足条件
  return !dayjs(targetDateStr).isAfter(fiveMinutesAgo);
}

// 测试样例
const sampleDate = '2021-11-04T12:20:46.485Z';
console.log(isAtLeast5MinutesAgo(sampleDate)); // 返回布尔值true/false

可选配置说明

  • 如果只需要比对到分钟级(忽略秒、毫秒差异),可以给isAfter方法传入第二个粒度参数:!dayjs(targetDateStr).isAfter(fiveMinutesAgo, 'minute')
  • 不需要额外处理时区偏移:时间字符串后缀的Z代表UTC标准时间,dayjs会自动做时区对齐,比较结果不会出现时区偏差

内容的提问来源于stack exchange,提问作者Daniel Shen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 22:57:04