/** * 時間轉年月日 * @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天
