我正在 C# .net 中开发一个应用程序,用户将在其中选择一年,我想向他展示周日期。
例如 2013 年
Week Start Date End Date
------------------------------
1 2013-01-01 2013-01-06
持续到 2013 年 12 月 31 日
我已经创建了一个存储过程,使用它可以得到上面的输出。
但是第一周应该从星期一开始,即 2013-12-31。
请帮忙。
问候,
祖伯卡兹
你为什么在 SQL 中这样做?取一个方法并将这个方法保存在page_load
DateTime da = DateTime.Now;
int offset = da.DayOfWeek - DayOfWeek.Monday;
DateTime lastMonday = da.AddDays(-offset);
Label1.Text = lastMonday.ToShortDateString();
Label2.Text = lastMonday.AddDays(+1).ToShortDateString();
Label3.Text = lastMonday.AddDays(+2).ToShortDateString();
Label4.Text = lastMonday.AddDays(+3).ToShortDateString();
Label5.Text = lastMonday.AddDays(+4).ToShortDateString();
Label6.Text = lastMonday.AddDays(+5).ToShortDateString();
Label7.Text = lastMonday.AddDays(+6).ToShortDateString();
使用以下逻辑来决定第一周的第一天
DECLARE @Date DATETIME=CONVERT(DATETIME,'01-01-'+ CONVERT(NVARCHAR(4), YEAR(GETDATE())) )
SELECT DATEADD(d,(DATEPART(dw,@Date)-2)*-1,@Date )
这将帮助您确定哪个索引适用于任何工作日。索引从 1 开始,从星期日开始
SELECT (DATEPART(dw,@Date))