鍍金池/ 問答/HTML/ js判斷某個(gè)時(shí)間段是否包含某個(gè)月份

js判斷某個(gè)時(shí)間段是否包含某個(gè)月份

現(xiàn)在有一些時(shí)間段:

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

怎么判斷這些日期中時(shí)候包含某個(gè)月份,現(xiàn)在指定判斷2個(gè)月份。

  1. 5月分:'2018-3-1>2018-6-1'這個(gè)時(shí)間段包含了5月份,返回'第一學(xué)期'
  2. 10月份:'2017-9-1>2018-2-1'這個(gè)時(shí)間段包含了10月份,返回'第二學(xué)期'

即是說 ,如果時(shí)間段包含月份就返回'第一學(xué)期',包含10月份就返回'第二學(xué)期',最后得到新的數(shù)組:

[{
    date_clamp:'2017-9-1>2018-2-1',
    term:'第二學(xué)期'
},{
    date_clamp:'2018-3-1>2018-6-1',
    term:'第一學(xué)期'
}]     
并且,如果當(dāng)前時(shí)間所在的月份處于某個(gè)時(shí)間段中,就在當(dāng)前對象給一個(gè)標(biāo)志!
比如現(xiàn)在是`'2017-4-8'`
得到新的數(shù)組:
[{
    date_clamp:'2017-9-1>2018-2-1',
    term:'第二學(xué)期',
    isCurMonth:false
},{
    date_clamp:'2018-3-1>2018-6-1',
    term:'第一學(xué)期',
    isCurMonth:true
}] 
回答
編輯回答
萌二代

你可以試試moment.js這個(gè)插件moment.js文檔

2018年5月20日 04:46
編輯回答
黑與白

可以先根據(jù)'-9-'查找到數(shù)組的起始月份跟結(jié)束月份,然后再判斷5月或者10月是不是在這個(gè)區(qū)間里面

2018年8月13日 17:42
編輯回答
九年囚

根據(jù)計(jì)算日期時(shí)間戳對比大小來判斷是否處于該區(qū)間,至于你新數(shù)組的isCurMonth代表何意義,可以根據(jù)當(dāng)前日期做進(jìn)一步處理。

var newArr = []
var originStr = ['2017-9-1>2018-2-1','2018-3-1>2018-6-1'];
originStr.map((v,i)=>{
  //獲取起始月份
  var mBegin = parseInt(v.split(">")[0].split("-")[1]);
  //獲取起始日期和終止日期的時(shí)間戳,用于后面比較大小
  var dateBegin = new Date(v.split(">")[0]).getTime();
  var dateOver = new Date(v.split(">")[1]).getTime();
  //如果起始月份大于5,那么計(jì)算10月份是否在該日期段
  if(mBegin>5){
    //獲取起始年的10月份,并計(jì)算時(shí)間戳
    var date2Str = v.split(">")[0].split("-")[0]+"-10-"+v.split(">")[0].split("-")[2];
    var date2 = new Date(date2Str).getTime();
    if(date2>dateBegin && date2<dateOver){
      newArr.push({date_clamp:v,term:'第二學(xué)期'})
      console.log('第二學(xué)期',v)
    }
  }else{
    //如果起始月份小于5,那么計(jì)算5月份是否在該日期段
    //獲取起始年的5月份,并計(jì)算時(shí)間戳
    var date2Str = v.split(">")[0].split("-")[0]+"-5-"+v.split(">")[0].split("-")[2];
    var date2 = new Date(date2Str).getTime();
    if(date2>dateBegin && date2<dateOver){
      newArr.push({date_clamp:v,term:'第一學(xué)期'})
      console.log('第一學(xué)期',v)
    }
  }
})
console.log(newArr);

clipboard.png

2018年7月3日 01:36