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

使用Moment实现日期格式化 判断给定日期是今日/明日还是其他日期

Moment.js 判断日期所属分类的实现方案

使用前请确保项目中已经正确引入Moment.js库,npm安装或者CDN引入均可。

实现思路

利用Moment内置的日期比较方法,按天粒度对齐待判断日期、今日、明日的时间,避免时分秒对判断结果的干扰,不需要手动处理跨月、跨年等边界场景。

实现步骤

  • 将待判断的日期变量day转为Moment实例,调用startOf('day')对齐到当天0点
  • 生成今日的Moment实例,同样对齐到当天0点
  • 生成明日的Moment实例,给今日日期加1天即可
  • 用isSame()方法指定按天粒度比较,返回对应分类

可直接复用代码

// 入参支持时间戳、Date对象、常规日期字符串等格式
function getDateType(day) {
  const targetDate = moment(day).startOf('day')
  const today = moment().startOf('day')
  const tomorrow = moment().add(1, 'days').startOf('day')

  if (targetDate.isSame(today, 'day')) {
    return '今天'
  }
  if (targetDate.isSame(tomorrow, 'day')) {
    return '明天'
  }
  return '其他日期'
}

注意事项

如果你传入的是自定义格式的日期,可在初始化Moment时指定格式,比如moment(day, 'MM/DD/YYYY')即可正确识别05/20/2024这类格式的日期;涉及多时区场景需要配合moment-timezone库先做时区对齐,避免时差导致判断错误。

测试示例

  • 传入当日Date对象:getDateType(new Date()) 输出 今天
  • 传入次日时间戳:getDateType(Date.now() + 86400000) 输出 明天
  • 传入3天后的日期:getDateType(moment().add(3, 'days')) 输出 其他日期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:57:00