2016-01-13 2 views
0

Я знаю, что это делается с использованием библиотеки javascript. В настоящее время, единственные примеры, которые я нашел для CRM 2011 включают вычисление возраста в годах только с помощью этого кода:Как рассчитать возраст в годах и месяцах в зависимости от даты рождения в Microsoft CRM 2011

function CalcAge() 
{ 
var now = new Date(); //Todays Date 
var birthday = Xrm.Page.getAttribute("birthdate").getValue(); //Get the Date of Birth value 
var diff = now.getMonth() - birthday.getMonth(); //Check to see if Birthday has already passed 

if (diff > -1) //If Birthday has already occurred 
{ 
    var bd1 = now.getFullYear() - birthday.getFullYear(); 

    //set the age attribute 
    Xrm.Page.getAttribute("frc_age").setValue(bd1.toString()); 
} 
else //If Birthday has not already occurred 
{ 
    var bd2 = now.getFullYear() - birthday.getFullYear() - 1; 
    Xrm.Page.getAttribute("frc_age").setValue(bd2.toString()); 
} 
} 

мне нужна помощь, реализующей подобной функции, которая также приходится на месяцы.

-Спасибо

+0

за месяц, вы имеете в виду, например: «23 года и 7 месяцев «? –

+0

Это правильно. –

ответ

1

вы можете попробовать ниже код, если DOB в формате «мм/дд/гггг». Вы также можете изменить его для других форматов.

var now = new Date(); //Todays Date 
var birthday = Xrm.Page.getAttribute("birthdate").getValue(); 
birthday=birthday.split("/"); 

var dobMonth= birthday[0]; 
var dobDay= birthday[1]; 
var dobYear= birthday[2]; 

var nowDay= now.getDate(); 
var nowMonth = now.getMonth() + 1; //jan=0 so month+1 
var nowYear= now.getFullYear(); 

var ageyear = nowYear- dobYear; 
var agemonth = nowMonth - dobMonth; 
var ageday = nowDay- dobDay; 
if (agemonth < 0) { 
     ageyear--; 
     agemonth = (12 + agemonth); 
     } 
if (nowDay< dobDay) { 
     agemonth--; 
     ageday = 30 + ageday; 
     } 
var val = ageyear + "-" + agemonth + "-" + ageday; 
return val; 

вы можете также использовать некоторые из ниже:

Simple age calculator in JavaScript

Calculate age in JavaScript

javascript - Age calculation

How can I calculate the number of years betwen two dates?

+0

Это должно быть! –

+2

Это дает неверные результаты: Пример: CurrentDate: 2 февраля 2017 Дата рождения: 25 февраля 1994 Возвраты 23 лет 0 месяцев 12 дней ..... должен быть 22 лет 11 месяцев 9 дней – scoob

Смежные вопросы