我正在使用C#.net开发一个应用程序,用户将选择一年,我想向他展示明智的日期。
e.g。 2013年
Week Start Date End Date
------------------------------
1 2013-01-01 2013-01-06
一直持续到2013年12月31日
我已经创建了一个存储过程,使用它来获得输出。
但是第一周它应该从星期一开始,即2013-12-31。
请帮忙。
此致
Zuber Kazi
答案 0 :(得分:0)
使用以下逻辑来决定第一周的第一天
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))
答案 1 :(得分:0)
为什么要在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();