js获取日期差(精确到年月)

 function getCRNX(crnx) {
            var nowstr = '@DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")';
            //选出最大时间
            var max = new Date(nowstr).format('yyyy/MM/dd hh:mm:ss');
            $.each(crnx, function (k, im) {
                if (im.EndDate) {
                    if (new Date(im.EndDate.replace(/-/g, '/')) > new Date(max)) {
                        max = im.EndDate.replace(/-/g, '/');
                    }
                }
            });


            var cr = '--年', year = month = '', level;
            if (max != new Date(nowstr).format('yyyy/MM/dd hh:mm:ss')) {
                var d = new Date(max.split(' ')[0]).getTime() - new Date(nowstr).getTime();

                if (d > 0) {
                    year = Math.floor(d / (365 * 24 * 3600 * 1000));
                    level = d % (365 * 24 * 3600 * 1000)
                    month = Math.floor(level / (30 * 24 * 3600 * 1000));

                    if (year > 0 || month > 0) {
                        if (month == 12) {
                            cr = (year + 1) + "年";
                        }
                        else {
                            cr = (year == 0 ? "" : year + "年") + (month == 0 ? "" : month + "个月");
                        }
                    }
                    else {
                        cr = "1个月";
                    }
                }
            }
            return cr;
        }

猜你喜欢

转载自blog.csdn.net/programmerfanwei/article/details/81282614