2016-08-17 19 views
-1

私は、数値が最も近い整数の年齢(つまり、64 & 3 months = 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)); 

は私のために動作しないようです。

+0

表示されているコードは 'dt'変数を使用していないようですので、計算を開始する前に間違っています。 – nnnnnn

+0

申し訳ありません私は今修正を行うために編集しました – aditya063

答えて

0

あなたはただ、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>

+0

これは動作しません。 64&3月= 64、64&9mths = 6の場合は – aditya063

+0

@ aditya063のようになります。更新された回答を見てください。 – Satpal

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'); 
関連する問題