如何返回2个日期之间的周末日期列表

Jos*_*osh 2 c# datetime

目前我有这个代码返回两个日期之间的所有日期的表.我怎么能改变这个让它只返回周末日期.这样做的目的是使用周末日期来检查DataGridView中的列标题以使周末"灰显".我希望这很清楚.

static public List<string> GetDates(DateTime start_date, DateTime end_date)
{
    List<string> days_list = new List<string>();

    for (DateTime date = start_date; date <= end_date; date = date.AddDays(1))
    {
        days_list.Add(date.ToShortDateString());
    }

    return days_list;
}
Run Code Online (Sandbox Code Playgroud)

Vit*_*oni 11

使用该DateTime.DayOfWeek属性.

https://msdn.microsoft.com/en-US/library/system.datetime.dayofweek(v=vs.110).aspx

static public List<string> GetDates(DateTime start_date, DateTime end_date)
    {
        List<string> days_list = new List<string>();
         for (DateTime date = start_date; date <= end_date; date = date.AddDays(1))
        {
            if (date.DayOfWeek == DayOfWeek.Sunday || date.DayOfWeek == DayOfWeek.Saturday)
                 days_list.Add(date.ToShortDateString());
        }

        return days_list;
Run Code Online (Sandbox Code Playgroud)