var birthDate = field("BirthDay")
var result
if (birthDate == undefined)
{result = 'Age not known'}
else
{
var dat = new Date();
var curday = dat.getDate();
var curmon = dat.getMonth()+1;
var curyear = dat.getFullYear();
function checkleapyear(datea)
{
if(datea.getYear()%4 == 0)
{
if(datea.getYear()% 10 != 0)
{
return true;
}
else
{
if(datea.getYear()% 400 == 0)
return true;
else
return false;
}
}
return false; }
function DaysInMonth(Y, M)
{
with (new Date(Y, M, 1, 12))
{
setDate(0);
return getDate();
} }
function datediff(date1, date2)
{
var y1 = date1.getFullYear(),
m1 = date1.getMonth(),
d1 = date1.getDate(),
y2 = date2.getFullYear(),
m2 = date2.getMonth(),
d2 = date2.getDate();
if (d1 < d2) {
m1--;
d1 += DaysInMonth(y2, m2);
}
if (m1 < m2) {
y1--;
m1 += 12;
}
return [y1 - y2, m1 - m2, d1 - d2]; }
function calage()
{
var calyear = birthDate.getFullYear();
var calmon = birthDate.getMonth()+1
var calday = birthDate.getDate()
var curd = new Date(curyear,curmon-1,curday);
var cald = new Date(calyear,calmon-1,calday);
var diff =
Date.UTC(curyear,curmon,curday,0,0,0) - Date.UTC(calyear,calmon,calday,0,0,0);
var dife = datediff(curd,cald);
var age
if(dat < birthDate)
{age = '!!!Invalid date'}
else
{age = dife[0]+" years, "+dife[1]+" months, and "+dife[2]+" days";}
return age;
}
result = calage(birthDate)}
result