1

選択した日付から週を計算するためのソリューションが必要です。(monthcalendarで)
私は試しました:

DateTime dt1 = new DateTime(monthCalendar1.SelectionStart.Year, 
                            monthCalendar1.SelectionStart.Month, 
                            monthCalendar1.SelectionStart.Day);

DateTime dt2 = new DateTime(monthCalendar1.SelectionStart.Year, 
                            1, 
                            1);

System.TimeSpan varTime = dt1 - dt2;
int weeks = (varTime.Days / 7) + 1;

しかし、週の開始日と終了日は正しくなく、数年で53週になりましたか?
これを解決するための最良の方法は何ですか?

4

2 に答える 2

1
public int WeekNumber(DateTime date)
{
    CultureInfo ciCurr = CultureInfo.CurrentCulture;
    int weekNum = ciCurr.Calendar.GetWeekOfYear(date,
                                          CalendarWeekRule.FirstFourDayWeek,
                                          DayOfWeek.Monday);
    return weekNum;
}

CalendarWeekRule.FirstFourDayWeek、DayOfWeek.Monday を現在のカルチャに合わせて修正することを忘れないでください。ここで使用するのはデンマーク/デンマーク用です。

于 2012-08-02T08:04:28.640 に答える
0

カレンダーの GetWeekOfYear 関数を試してください。完全な例については、ここを見て下にスクロールしてください: http://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear.aspx

于 2012-08-02T08:16:01.670 に答える