Friday, January 31, 2014

Calculate days remaining to a birthday?

Calculate days remaining to a birthday?


current code is for age calculate



int[] monthDay = new int[12] { 31, -1, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
// contain birth date
DateTime birthdate = this.birthday.Date.DateTime;
// cntain current date
DateTime currentdate = this.calculateday.Date.DateTime;
int day , year , month;


DateTime d1 = birthdate ;
DateTime d2 = currentdate;

int increment;

if(d1>d2)
{
birthdate = d2;
currentdate = d1;
}
else
{
birthdate = d1;
currentdate = d2;
}
// day calculation
increment = 0;
if(birthdate.Day > currentdate.Day)
{
increment = monthDay[birthdate.Month - 1];
}
/// if it is february month
/// if it's to day is less then from day
if (increment == -1)
{
if(DateTime.IsLeapYear(birthdate.Year))
{
// leap year february contain 29 days
increment = 29;
}
else
{
increment = 28;
}
}
if (increment != 0)
{
day = (currentdate.Day + increment) - birthdate.Day;
increment = 1;
}
else
{
day = currentdate.Day - birthdate.Day;
}

///month calculation
if ((birthdate.Month + increment) > currentdate.Month)
{
month = (currentdate.Month + 12) - (birthdate.Month + increment);
increment = 1;
}
else
{
month = (currentdate.Month) - (birthdate.Month + increment);
increment = 0;
}
/// year calculation
year = currentdate.Year - (birthdate.Year + increment);


No comments:

Post a Comment