繁体   English   中英

如何从提供搜索条件的列表中选择日期范围

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM