首页 > 代码库 > js时间转年月日

js时间转年月日

    /**
     * 时间转年月日
     * @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天

 

js时间转年月日