JS判断是否属于本月、本周

一、判断日期是否属于本月

var isSameMonth = function(inDate) { // inDate 是一个date对象
    var nowDate = new Date();
    return ((nowDate.getFullYear() == inDate.getFullYear()) && 
             (nowDate.getMonth() == inDate.getMonth()));
}

// 测试
isSameMonth(new Date('2024-02-28')) // true
通过比较参数日期的月份和年份是否与当前日期的月份和年份相同来确定日期是否属于本月。

二、判断日期是否属于本周

var isSameWeek = function(inDate) { // inDate 是一个date对象
   let inDateStr = inDate.toLocaleDateString();  // 获取如YYYY/MM/DD的日期
   let nowDate = new Date();
   let nowTime = nowDate.getTime();
   let nowDay = nowDate.getDay();
   for(let i=0;i<7;i++) {
      if(inDateStr == (new Date(nowTime + (i-nowDay)*24*3600*1000)).toLocaleDateString())     
        return true;
   }
   return false;
}

// 测试
isSameWeek(new Date('2024-02-28')) // true

isSameWeek(new Date('2024-03-01')) // true

isSameWeek(new Date('2024-03-03')) //false
逻辑是先计算出当前日期是当周的X(0<=X<=6)日,则同周的日期范围是其 [0-X,6-X],这样以当前日期为基准,分别计算这个范围内的各个日期对应的toLocaleDateString(),如果存在与inDate对应的toLocaleDateString() 相等,则表明 inDate和现在处于同一周
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值