js计算两个日期的月份

var startDate="2017/12/1 10:38:43";//开始日期
var endDate="2018/1/1 10:38:43";//结束日期
function monthDateFun(startDate, endDate) {
  var sdate = formatDatetime(startDate);//格式化日期
  var starDateText = formatDatetime(endDate);//格式化日期
  var totalMonth;
  var starTime = sdate.getFullYear()+"-"+(sdate.getMonth()+1)+"-"+sdate.getDate();
  var endTime = starDateText.getFullYear()+"-"+(starDateText.getMonth()+1)+"-"+starDateText.getDate();
  // 拆分年月日
  starTime = starTime.split('-');
  // 得到月数
  starTime = parseInt(starTime[0]) * 12 + parseInt(starTime[1]);
  // 拆分年月日
  endTime = endTime.split('-');
  // 得到月数
  endTime = parseInt(endTime[0]) * 12 + parseInt(endTime[1]);
 totalMonth= Math.abs(starTime - endTime);
  return totalMonth;
}

function formatDatetime(datetimeString) {//日期格式化 兼容移动端IOS跟安卓日期出现的NAN
  var datetime;  
  if (isNaN(Date.parse(datetimeString)))     datetime = new Date(Date.parse(datetimeString.replace(/-/g, '/').replace(/T/g, ' ')));  
  else     datetime = new Date(Date.parse(datetimeString));
  return datetime;
}


console.log(monthDateFun(startDate,endDate));//调用方法输出月份

猜你喜欢

转载自blog.csdn.net/a4561614/article/details/78953299