账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js判断某个时间段是否包含某个月份
    36
    0

    现在有一些时间段:

    ['2017-9-1>2018-2-1','2018-3-1>2018-6-1']

    怎么判断这些日期中时候包含某个月份,现在指定判断2个月份。

    1. 5月分:'2018-3-1>2018-6-1'这个时间段包含了5月份,返回'第一学期'
    2. 10月份:'2017-9-1>2018-2-1'这个时间段包含了10月份,返回'第二学期'

    即是说 ,如果时间段包含月份就返回'第一学期',包含10月份就返回'第二学期',最后得到新的数组:

    [{
        date_clamp:'2017-9-1>2018-2-1',
        term:'第二学期'
    },{
        date_clamp:'2018-3-1>2018-6-1',
        term:'第一学期'
    }]     
    并且,如果当前时间所在的月份处于某个时间段中,就在当前对象给一个标志!
    比如现在是`'2017-4-8'`
    得到新的数组:
    [{
        date_clamp:'2017-9-1>2018-2-1',
        term:'第二学期',
        isCurMonth:false
    },{
        date_clamp:'2018-3-1>2018-6-1',
        term:'第一学期',
        isCurMonth:true
    }] 
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 你可以使用JavaScript的Date对象和正则表达式来判断某个时间段是否包含某个月份。以下是一个简单的示例:

      ```javascript function isMonthInPeriod(startDate, endDate, month) { var regex = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/; return regex.test(endDate.toString()); }

      // 使用示例 var startDate = new Date('2022-01-01'); var endDate = new Date('2022-12-31'); var month = 12;

      console.log(isMonthInPeriod(startDate, endDate, month)); // 输出:true ```

      在这个示例中,我们首先定义了一个正则表达式,该表达式匹配任何日期格式,包括"MM/DD/YYYY"。然后,我们使用这个正则表达式来测试给定的结束日期是否匹配这个格式。

      注意,这个示例假设你的结束日期是一个有效的日期,包括年、月、日。如果你的结束日期可能包含不完整的信息,你可能需要修改正则表达式以适应你的需求。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部