public static void TimeSpanToDate(DateTime d1, DateTime d2, out int years, out int months, out int days)
{
// Added By Balajiprasad
if (d1 > d2)
{
DateTime temp;
temp = d2;
d2 = d1;
d1 = temp;
}
days = d2.Subtract(new DateTime(d2.Year, d2.Month - (d2.Day < d1.Day ? 1 : 0), d1.Day)).Days;
months = d2.Month - d1.Month + ((d2.Month <= d1.Month && d2.Day < d1.Day) ? 11 : ((d2.Month < d1.Month && d2.Day >= d1.Day) ? 12 : ((d2.Month > d1.Month && d2.Day < d1.Day) ? -1 : 0)));
years = d2.Year - d1.Year - ((d2.Month < d1.Month || (d2.Month == d1.Month && d2.Day < d1.Day)) ? 1 : 0);
if (days > 31)
{
months++;
days = days - 31;
}
if (months > 12)
{
years++;
months = months - 12;
}
}
No comments:
Post a Comment