0

我正在 C# .net 中开发一个应用程序,用户将在其中选择一年,我想向他展示周日期。

例如 2013 年

Week  Start Date    End Date
------------------------------
1     2013-01-01    2013-01-06

持续到 2013 年 12 月 31 日

我已经创建了一个存储过程,使用它可以得到上面的输出。

但是第一周应该从星期一开始,即 2013-12-31。

请帮忙。

问候,

祖伯卡兹

4

2 回答 2

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();
于 2013-06-29T11:54:10.620 回答
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))
于 2013-06-29T08:44:14.313 回答