SQL 函数查询
大家试试这两个函数为什么2011-1-1是第一周,不是10年53周
select DATEPART(weekday,'2011-1-1')
select DATEPART(wk,'2011-1-1')
好像函数设置以前没有这样的问题哦
C#里面的计算week的存在同样问题
/**//// <summary>
/// 求当前日期是一年的中第几周
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public int WeekOfYear(DateTime curDay)
{
int firstdayofweek = Convert.ToInt32(Convert.ToDateTime(curDay.Year.ToString() + "- " + "1-1 ").DayOfWeek);
int days = curDay.DayOfYear;
int daysOutOneWeek = days - (7 - firstdayofweek);
if (daysOutOneWeek <= 0)
{
return 1;
}
else
{
int weeks = daysOutOneWeek / 7;
if (daysOutOneWeek % 7 != 0)
weeks++;
return weeks + 1;
}
}