获取今天是今年得第几周得函数

 1public static int WeekOfTheYear()
 2        {            
 3            //获取
 4            CultureInfo myCI = new CultureInfo("zh-CN");
 5            System.Globalization.Calendar myCal = myCI.Calendar;
 6
 7            //日期格式
 8            CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule;
 9            DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;
10
11            //本周为第myCal.GetWeekOfYear( DateTime.Now, myCWR, myFirstDOW )周
12            int thisWeek=myCal.GetWeekOfYear( DateTime.Now, myCWR, myFirstDOW );
13            return thisWeek;
14        }
SQL语句中如何获得当前为这一年的第几周呢?
比如获得周排行的功能,我是这么做的
表WeekStat
UserNO int  not null,
Author varchar(64) not null,
Year int not null,
Week int not null,
PostCount int
查询语句
SELECT     PostCount as ReturnNum, Author
 FROM         WeekStat
 WHERE     (Year = DATEPART(Year, GETDATE())) AND (Week = DATEPART(Week, GETDATE()))
 ORDER BY PostCount DESC
这样就可以得到周排行了,性能比以前哥们用group by的要高不只百倍。
group by的在100W数据的时候已经超时了。这个根本就没有多少IO操作和CPU占用
posted @ 2006-04-12 12:37  Robin Zhang  阅读(4504)  评论(4编辑  收藏  举报