您的位置:首页 > 编程语言 > C#

c# 某日期是当月的第几周

2009-02-13 22:01 323 查看
DateTime里只有DayOfWeek这个属性,不能直接得到当天是当月的第几周。所以写了个函数,来计算一个日期是当月的第几个星期,代码有详细的注释,就不多说了

参数说明:day:要判断的日期,WeekStart:1周一为一周的开始,2周日为一周的开始

 1         public static int WeekOfMonth(DateTime day,int WeekStart)

 2         {

 3             //WeekStart

 4             //1表示 周一至周日 为一周

 5             //2表示 周日至周六 为一周

 6             DateTime FirstofMonth;

 7             FirstofMonth = Convert.ToDateTime(day.Date.Year + "-" + day.Date.Month + "-" + 1);

 8             

 9             int i= (int)FirstofMonth.Date.DayOfWeek;

             if (i == 0)

             {

                 i = 7;

             }

 

             if (WeekStart == 1)

             {

                 return (day.Date.Day + i - 2) / 7 + 1;

             }

             if (WeekStart == 2)

             {

                 return (day.Date.Day + i - 1) / 7 ;

 

             }

             return 0;

             //错误返回值0

         }

27 

演示:http://files.cnblogs.com/cnhefang/weekofmonth.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: