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 に答える