2016-02-26 87 views
0

我想,我想在日期范围内的任何想法如何做到这一点的具体日子,如何获取特定日期的日期范围

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

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) 
       { 

       } 
+0

你的问题到底是什么?你的代码不工作?它抛出异常或错误?意外的结果? ToStr和ToDate是做什么的?请更具体一些。 –

+0

我想得到一天范围变量,就像只有星期六 –

+0

如何从列表中获得“星期六”范围 –

回答

0

如果你想在你的范围内的第一个星期六,你可以使用它。

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

或者这个,如果你想在你的范围内的所有星期六:

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

感谢他们的伟大工作:) –

+0

变量'saturday'是'DateTime'。如果您想查看当天的名称,请使用:'saturday.DayOfWeek.ToString()'。 –

+0

不客气:) –

0

使用DAYOFWEEK财产的DateTime对象。

 var dayList = new List<DateTime>(); 

     foreach(var day in dayList) 
     { 
      if (day.DayOfWeek == DayOfWeek.Sunday) //Sunday 
      if (day.DayOfWeek == DayOfWeek.Monday) //Monday 
      etc... 
     } 

或LINQ

 dayList.Where(x => x.DayOfWeek == DayOfWeek.Sunday).ToList(); 
0

如何获得 “星期六” 从列表区域

基于您的评论;

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

我假定你的射程只有一个周六,这将返回它。