1 //获取当前日期(年月日),如:2017-12-18 2 function getNowDate() { 3 var dd = new Date(); 4 var y = dd.getFullYear(); 5 //获取当前月份的日期,不足10补0 6 var m = (dd.getMonth() + 1) < 10 ? '0' + (dd.getMonth() + 1) : (dd.getMonth() + 1); 7 //获取当前几号,不足10补0 8 var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate(); 9 return y + '-' + m + '-' + d; 10 } 11 12 //计算多少天前后的日期 13 //addDayCount:前后要计算的天数 14 //startDate:开始日期,为空则表示当前日期 15 function getDateAdd(addDayCount, startDate) { 16 /****** 17 半年前:getDateAdd(-180) 18 三月前:getDateAdd(-90) 19 一月前:getDateAdd(-30) 20 昨天:getDateAdd(-1) 21 今天:getDateAdd(0) 22 明天:getDateAdd(1) 23 后天:getDateAdd(2) 24 一月后:getDateAdd(30) 25 三月后:getDateAdd(90) 26 半年后:getDateAdd(180) 27 ******/ 28 29 var dd = startDate && startDate.length > 0 ? new Date(startDate) : new Date(); 30 //获取addDayCount天后的日期 31 dd.setDate(dd.getDate() + addDayCount); 32 var y = dd.getFullYear(); 33 //获取当前月份的日期,不足10补0 34 var m = (dd.getMonth() + 1) < 10 ? '0' + (dd.getMonth() + 1) : (dd.getMonth() + 1); 35 //获取当前几号,不足10补0 36 var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate(); 37 return y + '-' + m + '-' + d; 38 } 39 40 /** 41 * 计算2个日期相差的天数,可包含今天,如:2017-12-18到2017-12-20,相差2天(isIncludeToday=true时为3天) 42 * startDateString:开始日期 43 * endDateString:结束日期 44 * isIncludeToday:是否包含今天 45 */ 46 function dateDiff(startDateString, endDateString, isIncludeToday) { 47 var separator = "-"; //日期分隔符 48 var startDates = startDateString.split(separator); 49 var endDates = endDateString.split(separator); 50 var startDate = new Date(startDates[0], startDates[1] - 1, startDates[2]); 51 var endDate = new Date(endDates[0], endDates[1] - 1, endDates[2]); 52 //return parseInt(Math.abs(endDate - startDate) / 1000 / 60 / 60 / 24) + (isIncludeToday ? 1 : 0);//把相差的毫秒数转换为天数 53 return parseInt((endDate - startDate) / 1000 / 60 / 60 / 24) + (isIncludeToday ? 1 : 0);//把相差的毫秒数转换为天数 54 }