2016-09-01 2 views

ответ

2

Вы можете использовать функцию для него со стрессом на единственном и множественном словах.

function getWords(monthCount) { 
 
    function getPlural(number, word) { 
 
     return number === 1 && word.one || word.other; 
 
    } 
 

 
    var months = { one: 'month', other: 'months' }, 
 
     years = { one: 'year', other: 'years' }, 
 
     m = monthCount % 12, 
 
     y = Math.floor(monthCount/12), 
 
     result = []; 
 

 
    y && result.push(y + ' ' + getPlural(y, years)); 
 
    m && result.push(m + ' ' + getPlural(m, months)); 
 
    return result.join(' and '); 
 
} 
 

 
var i; 
 
for (i = 0; i < 30; i++) { 
 
    console.log(getWords(i)); 
 
}

2

Для некоторого числа x и некоторого делитель y вычислят деление (div) и остаток (rem) как:

var div = Math.floor(x/y); 
var rem = x % y; 

Таким образом, в вашем примере:

var years = Math.floor(months/12); 
var months = months % 12; 
0

попробовать это:

months = 14 
 

 
console.log(
 
    (months/12 | 0) + " years and " + months % 12 +" months" 
 
)

0

Используйте эту функцию

function months2years(months) { 
var dur1 = Math.floor(months/12) 
var dur2 = (months/12)-dur1 
var dur3 = Math.floor(dur2*12) 
return dur1+" years and "+dur3+" months" 
}