在sql中的星期日期

时间:2013-06-29 07:09:09

标签: c# sql

我正在使用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

2 个答案:

答案 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();