vs2010测试通过
using System; using System.Collections.Generic; using System.Text; namespace PublicClass { public static class CalculationDate { /// <summary> /// 由两个日期计算出年龄(岁、月、天) /// </summary> public static void calculationDate(DateTime beginDateTime, DateTime endDateTime) { if (beginDateTime > endDateTime) throw new Exception("开始时间应小于或等与结束时间!"); /*计算出生日期到当前日期总月数*/ int Months = endDateTime.Month - beginDateTime.Month + 12 * (endDateTime.Year - beginDateTime.Year); /*出生日期加总月数后,如果大于当前日期则减一个月*/ int totalMonth = (beginDateTime.AddMonths(Months) > endDateTime) ? Months - 1 : Months; /*计算整年*/ int fullYear = totalMonth / 12; /*计算整月*/ int fullMonth = totalMonth % 12; /*计算天数*/ DateTime changeDate = beginDateTime.AddMonths(totalMonth); double days = (endDateTime - changeDate).TotalDays; } } }