TimeSpan age = DateTime.Now - DateTime.Parse(sBirthday);
return age.Year +1;

解决方案 »

  1.   

    楼上的兄弟,TimeSpan类型数据没有Year属性。
    上面代码有问题,重贴
    /// <summary>
    /// 用户年龄
    /// </summary>
    /// <param name="str">出生日期</param>
    /// <returns>用户年龄</returns>
    public static int GetUserAgeByBirthday(string sBirthday)
    {
    int iResult=0;
    //出生日期
    if (sBirthday!="")
    {
    DateTime BirthdayDate=DateTime.Parse(sBirthday);
    int by=BirthdayDate.Year;
    int bm=BirthdayDate.Month;
    int bd=BirthdayDate.Day; int ny=System.DateTime.Now.Year;
    int nm=System.DateTime.Now.Month;
    int nd=System.DateTime.Now.Day; int iYear=ny-by;
    int iMonth=nm-bm;
    int iDay=nd-bd; if (iDay<0)
    {
    iMonth=iMonth-1;
    }
    if (iMonth<0)
    {
    iYear=iYear-1;
    }
    iResult=iYear+1;  //虚岁
    }
    return iResult;
    }
      

  2.   

    int age = Dateadd(year,1,Now) - year(sBirthday)
    age即为虚岁
      

  3.   

    sorry: return (age.Days % 365)+1;
      

  4.   

    就是这样一个小问题,发了两个帖子,但是没有人可以回答正确的,郁闷。
    CSDN到底怎么了?