簡體   English   中英

我如何獲得一個月中的所有工作日和日期

[英]How do i get all the weekdays and dates in a month

我正在嘗試獲取所選月份的所有工作日以及星期一或星期二等日期?? 這怎么可能? 有我不知道的內置功能嗎?

這是在C#2.0中,使用VS 2005的asp.net

我無法保證leap年,夏令時,特殊日子, 上海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屬性,您可以檢查該屬性是否是星期一至星期五。

這應該工作

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中獲取任何信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM