C# 如何获取日期范围内的特定日期

C# 如何获取日期范围内的特定日期,c#,winforms,datetime,C#,Winforms,Datetime,我想知道我想要的日期范围内的具体日期,知道怎么做吗 如何从列表范围中获取“星期六”:在下面的代码中 var startDate = dtpInsetDate.Value.ToDate(); var endDate = dtpEndDate.Value.ToDate(); int days = (endDate - startDate).Days + 1; // incl. endDate str

我想知道我想要的日期范围内的具体日期,知道怎么做吗

如何从列表范围中获取“星期六”:在下面的代码中

 var startDate =  dtpInsetDate.Value.ToDate();
                var endDate = dtpEndDate.Value.ToDate();
                int days = (endDate - startDate).Days + 1; // incl. endDate 
                string day = endDate.Day.ToString();
                List<DateTime> range = Enumerable.Range(0, days)
                 .Select(i => startDate.AddDays(i))
                 .ToList();
                if (day.StartsWith("Sat") == true)
                { 

                }
var startDate=dtpInsetDate.Value.ToDate();
var endDate=dtpEndDate.Value.ToDate();
整数天=(结束日期-开始日期)。天+1;//包括截止日期
字符串day=endDate.day.ToString();
列表范围=可枚举范围(0天)
.Select(i=>startDate.AddDays(i))
.ToList();
if(day.StartsWith(“Sat”)==真)
{ 
}

如果您想在您的范围内的第一个星期六使用此选项

var saturday = range.FirstOrDefault(dt => dt.DayOfWeek == DayOfWeek.Saturday);
或者,如果您希望所有周六都在您的范围内:

var saturday = range.Where(dt => dt.DayOfWeek == DayOfWeek.Saturday);

对DateTime对象使用DayOfWeek属性

        var dayList = new List<DateTime>();

        foreach(var day in dayList)
        {
            if (day.DayOfWeek == DayOfWeek.Sunday) //Sunday
            if (day.DayOfWeek == DayOfWeek.Monday) //Monday
            etc...
        }
如何从列表范围中获取“星期六”

根据你的评论

DateTime saturday = range.Where(d => d.DayOfWeek == DayOfWeek.Saturday).FirstOrDefault();

我假设您的范围只有一个星期六,这将返回它。

您的问题到底是什么?你的代码不起作用了?它抛出异常还是错误?意外的结果?
ToStr
ToDate
到底做了什么?请更具体一点。我想得到范围变量中的日期,比如只有星期六如何从列表中得到“星期六”range@AdeelKhan在这个范围内有多个可能的星期六呢?您需要全部或某些特定的变量吗?变量
saturday
的可能重复项是
DateTime
。如果您想查看当天的名称,只需使用:
saturday.DayOfWeek.ToString()
。我可以比较一下吗?var seletedday=range.Where(dt=>dt.DayOfWeek==ddlweekdays.Text.ToDate());否。ToDate()返回日期时间。DayOfWeek表示一个枚举。
DateTime saturday = range.Where(d => d.DayOfWeek == DayOfWeek.Saturday).FirstOrDefault();