[英]How to select range of dates from list on providing searching criteria
DateInfo[] dateInfo= GetDateInfo();
DateInfo[] searchDates = null;
DateTime dtfrom = DateTime.Parse(txtFromDate.Text);
DateTime dtTo = DateTime.Parse(txtToDate.Text);
searchDates = dateInfo.Where(p => p.AddDate >= dtfrom || p.AddDate < dtTo).ToArray<DateInfo>();
如果列表包含
11/17/13,11/18/13,11/19/13,11/19/13,11/19/13,11/20/13,11/20/13
我已经进入
11/17/13 to 11/19/13
它应该返回
11/17/13,11/18/13,11/19/13,11/19/13,11/19/13
替换||
与&&
:
searchDates = dateInfo.Where(p => p.AddDate >= dtfrom && p.AddDate <= dtTo)
.ToArray();
searchDates = dateInfo
.Where(p => p.AddDate >= dtfrom && p.AddDate <= dtTo)
.ToArray<DateInfo>();
在这种情况下,AND将强制过滤介于两者之间的日期,而您的条件将涵盖所有内容。
感谢您的回答。我的问题通过编写此查询得以解决
searchDates = dateInfo.Where(p => (p.AddDate.Date.Year >= dtfrom.Date.Year && p.AddDate.Date.Month >= dtfrom.Date.Month && p.AddDate.Date.Day >= dtfrom.Date.Day) && (p.AddDate.Date.Year <= dtTo.Date.Year && p.AddDate.Date.Month <= dtTo.Date.Month && p.AddDate.Date.Day <= dtTo.Date.Day)).ToArray<DateInfo>();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.