/** * 时间转年月日 * @param sdate 开始的时间 * @param edate 结束的时间 * @returns {*} */ function day2ymrStr2(sdate, edate) { var day2ymrStr = ""; var date1 = new Date(edate); var date2 = new Date(sdate); var y = 0, m = 0, d = 0; var y1 = date1.getFullYear(); var m1 = date1.getMonth(); var d1 = date1.getDate(); var y2 = date2.getFullYear(); var m2 = date2.getMonth(); var d2 = date2.getDate(); if (d2 > d1) { m1 = m1 - 1; d1 = d1 + 30;//这里每个月按30天计算,也可以根据月份计算天数 } if (m2 > m1) { y1 = y1 - 1; m1 = m1 + 12; } d = (d1 - d2) + 1; m = m1 - m2; y = Math.abs(y1 - y2); if (y != 0) day2ymrStr += y + "年"; if (m != 0) day2ymrStr += m + "个月"; if (d != 0) day2ymrStr += d + "天"; if (isNaN(d) || isNaN(m) || isNaN(y)) { return 0 + "天"; } return day2ymrStr; } // 举个栗子: console.info(day2ymrStr2("2017-10-22","2017-10-23")); // 结果: 2天