sql中的周日期

本文关键字:日期 周日期 sql | 更新日期: 2023-09-27 18:20:33

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

例如2013年

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

它将持续到2013年12月31日

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

但第一周应该从星期一开始,也就是2013年12月31日。

请帮忙。

问候,

Zuber Kazi

sql中的周日期

使用以下逻辑来决定第一周的第一天

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))

为什么要在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();