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

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;
10             if (i == 0)
11             {
12                 i = 7;
13             }
14 
15             if (WeekStart == 1)
16             {
17                 return (day.Date.Day + i - 2/ 7 + 1;
18             }
19             if (WeekStart == 2)
20             {
21                 return (day.Date.Day + i - 1/ 7 ;
22 
23             }
24             return 0;
25             //错误返回值0
26         }

27 

演示:https://files.cnblogs.com/cnhefang/weekofmonth.rar

posted on 2009-02-13 22:01  漂泊的小强  阅读(4046)  评论(0编辑  收藏  举报

导航