根据具有日期的月份转换年份

时间:2016-08-17 10:55:52

标签: javascript momentjs

我试图实现这样一个数字应该舍入到最接近的整数年龄(即,如果64& 3个月= 64,如果64& 9mths = 65)。

这是我的代码:

    var dt = '15/11/2015';
    var roundedAge = Math.round(moment().diff(moment(dt, 'DD/MM/YYYY'), 'years', true));
    console.log('result:' + Math.round(roundedAge - 0.25));

似乎不适合我。

2 个答案:

答案 0 :(得分:1)

您只需围绕Years,不需要减去0.4



var yrs = moment().add(64 * 12 + 3, "months").diff(moment(), 'years', true);
console.log('result:' + Math.round(yrs));

var yrs2 = moment().add(64 * 12 + 9, "months").diff(moment(), 'years', true);
console.log('result:' + Math.round(yrs2));

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

这是我修复它的方式。

    var floatYears = moment().diff(moment($("#dtDOB").val(), 'DD/MM/YYYY'), 'years', true);
    var intYears = Math.round(floatYears - 0.25); // Since 0.75 = 9/12 months so shifting the offset.
    $('#calcAge').val(intYears + ' years');