DateTime d = getMonday(); MessageBox.Show("本周一日期为:" + d.Date.ToString()); MessageBox.Show("上周一日期为:" + d.AddDays(-7).Date.ToString()); MessageBox.Show("上上周一日期为:" + d.AddDays(-14).Date.ToString()); protected DateTime getMonday() { DateTime d = DateTime.Now; switch (d.DayOfWeek) { default: return d.Date; case DayOfWeek.Tuesday: return d.AddDays(-1).Date; case DayOfWeek.Wednesday: return d.AddDays(-2).Date; case DayOfWeek.Thursday: return d.AddDays(-3).Date; case DayOfWeek.Friday: return d.AddDays(-4).Date; case DayOfWeek.Saturday: return d.AddDays(-5).Date; case DayOfWeek.Sunday: return d.AddDays(-6).Date; } }这个答案是不是你要的呢?
如果说不用数据库的话这样就OK了 如果是要得到数据库的 sql="select * from table where datediff(week,riqi,getdate())<=2" //得到近两周的 --查询本周 select * from table where create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and create_day<dateadd(day,9-datepart(weekday,getdate()),convert(varchar,getdate(),112))--上周 select * from table where create_day>=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and create_day<dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112))
a[1]=DateTime.Now
a[2]=DateTime.Now.AddDays(-7);
a[3]=DateTime.Now.AddDays(-14);int不能存日期
MessageBox.Show("本周一日期为:" + d.Date.ToString());
MessageBox.Show("上周一日期为:" + d.AddDays(-7).Date.ToString());
MessageBox.Show("上上周一日期为:" + d.AddDays(-14).Date.ToString()); protected DateTime getMonday()
{
DateTime d = DateTime.Now;
switch (d.DayOfWeek)
{
default: return d.Date;
case DayOfWeek.Tuesday: return d.AddDays(-1).Date;
case DayOfWeek.Wednesday: return d.AddDays(-2).Date;
case DayOfWeek.Thursday: return d.AddDays(-3).Date;
case DayOfWeek.Friday: return d.AddDays(-4).Date;
case DayOfWeek.Saturday: return d.AddDays(-5).Date;
case DayOfWeek.Sunday: return d.AddDays(-6).Date;
}
}这个答案是不是你要的呢?
如果是要得到数据库的
sql="select * from table where datediff(week,riqi,getdate())<=2" //得到近两周的
--查询本周
select * from table where create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112))
and create_day<dateadd(day,9-datepart(weekday,getdate()),convert(varchar,getdate(),112))--上周
select * from table where create_day>=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112))
and create_day<dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112))
DateTime dt1 = DateTime.Now;
DateTime dt2 = DateTime.Now.AddDays(-7);
DateTime dt3 = DateTime.Now.AddDays(-14);