0

選択した月のすべての平日を、月曜日や火曜日などの日と一緒に取得しようとしていますか?? それはどのように可能ですか?私が知らない組み込み関数はありますか?

これは、VS 2005 を使用する C# 2.0、asp.net にあります。

4

2 に答える 2

5

うるう年、夏時間のジャンプ、特別な日、上海 1927などについては保証しません。

public List<DateTime> getWeekdatesandDates(int Month, int Year)
{
    List<DateTime> weekdays = new List<DateTime>();

    DateTime firstOfMonth = new DateTime(Year, Month, 1);

    DateTime currentDay = firstOfMonth;
    while (firstOfMonth.Month == currentDay.Month)
    {
        DayOfWeek dayOfWeek = currentDay.DayOfWeek;
        if (dayOfWeek != DayOfWeek.Saturday && dayOfWeek != DayOfWeek.Sunday)
            weekdays.Add(currentDay);

        currentDay = currentDay.AddDays(1);
    }

    return weekdays;
}

結果のDateTimeオブジェクトには、DayOfWeek月曜日から金曜日までかどうかを確認できるプロパティがあります。

于 2012-10-15T20:54:20.760 に答える
1

これはうまくいくはずです

private List<DateTime> getWeekDayDates(int month, int year)
{
    List<DateTime> weekdays = new List<DateTime>();
    DateTime basedt = new DateTime(year, month, 1);
    while ((basedt.Month == month) && (basedt.Year == year))
    {
        if (basedt.DayOfWeek == (DayOfWeek.Monday | DayOfWeek.Tuesday | DayOfWeek.Wednesday | DayOfWeek.Thursday | DayOfWeek.Friday))
        {
            weekdays.Add(new DateTime(basedt.Year, basedt.Month, basedt.Day));
        }
        basedt = basedt.AddDays(1);
    }
    return weekdays;
}

次に、必要な各 DateTime からあらゆる情報を取得できます。

于 2012-10-15T20:57:09.080 に答える