?不懂你要做什么。
是不是要这样:Year(MyDateTime)  结果为年份
Month(MyDateTime) 结果为月份
Day(MyDateTime)   结果为天

解决方案 »

  1.   

    public int GetDayOfMon(int yearOf, int monOf){
    switch (monOf){
    case 4:
    case 6:
    case 9:
    case 11:
    return 30;
    case 2:
    return DateTime.IsLeapYear(yearOf) ? 29 : 28;
    default:
    return 31;
    }
    }
      

  2.   

    能不能通过日期计算来得到,那样好象要简单一些?我以前在asp中就可以,在asp.net 中就不止到了。
    asp中取某年某月的天数方法:day(cdate(yy+"-"+cstr(cint(mm)+1)+"-1")-1)
      

  3.   

    int y;
    int m;DateTime date1 = new DateTime(y, m+1, 1);
    date1.AddDays(-1);return date1.Day;
      

  4.   

    你可以:public int GetDayOfMon(int yearOf, int monOf){
    return (new DateTime(yearOf,monOf,1)).AddDays(-1).Day;
    }我认为判断比计算要快
      

  5.   

    补充上面的问题是因为AddDays 不允许在本例上倒一天,这不符合规则,所以必须将它付给新实例才可以,比如:DateTime date2  = date1.AddDays(-1);
    return date2.Day;
      

  6.   

    DateTime类型有一个AddMonths函数,那就很好办了三DateTime dt1 = ...;
    DateTime dt2 = dt1.AddMonths(1);double dblDays = dt2.ToOADate() - dt1.ToOADate();
    int nDays = (int) dblDays;
      

  7.   

    不好意思,上面的代码如果日期dt1在28号以前都是正确的,在28以后就有可能出错了其时DateTime类型本来就提供了一个static类型的函数来获取某年某月的天数public static int DaysInMonth(
       int year,
       int month
    );用法很简单的
    int nDays = DateTime.DaysInMonth(2003, 6);
      

  8.   

    我上面的:
    return (new DateTime(yearOf,monOf,1)).AddDays(-1).Day;
    应为:
    return (new DateTime(yearOf,monOf,1)).AddMonths(1).AddDays(-1).Day;
    否则会错开一个月呵呵,真如楼上所言的确有个静态子程:int dt = System.DateTime.DaysInMonth(2001, 2);