接收到日期类型的字符串,如“20200901”
要对字符串进行处理,判断有几个月
先定义一个全局变量数组monthDate 用来存放处理过后的日期
startDay,endDay 这两个字符串就是日期类型的
下面是代码块:
function checkMonth(startDay,endDay){
var finStartDate = subDate(startDay);//截取前六位
var finEndDate = subDate(endDay);
var startdate = formatDate2(startDay);
var start = startdate.replace(/-/g,"/");
var newtodates = new Date(start);
newtodates.setMonth(newtodates.getMonth() + 1);//获取下一个月
var nMonth = formatDate(new Date(newtodates));
var nextMonth = subDate(nMonth);
var twoDates = newtodates.setMonth(newtodates.getMonth() + 1);
var tMonth = formatDate(new Date(twoDates));
var twoMonth = subDate(tMonth);
if(finStartDate == finEndDate){
monthDate[0] = finStartDate;
}else if(nextMonth == finEndDate){
monthDate[0] = finStartDate;
monthDate[1] = finEndDate;
}else if(twoMonth == finEndDate){
monthDate[0] = finStartDate;
monthDate[1] = nextMonth;
monthDate[2] = finEndDate;
}else{
monthDate = [];
}
}
//截取日期
function subDate(dates){
return dates.substr(0,6);
}
//将日期转换成纯数字日期
function formatDate(time){
var year = time.getFullYear();
var month = time.getMonth() + 1 < 10 ? "0" + (time.getMonth() + 1) : (time.getMonth() + 1);
var dateStr = year + "" + month;
return dateStr;
}
//格式化日期
function formatDate2(val){
var strFirst = val.substr(0,4);
var strSecond = val.substr(4,2);
var strthird = val.substr(6,2);
var val = strFirst + "-" + strSecond + "-" + strthird;
return val;
}