C# Linq Where Date Between 2 Dates

后端 未结 8 2064
鱼传尺愫
鱼传尺愫 2020-11-28 07:30

I\'m trying to get my linq statement to get me all records between two dates, and I\'m not quite sure what I need to change to get it to work: (a.Start >= startDate

8条回答
  •  眼角桃花
    2020-11-28 07:45

    If you have date interval filter condition and you need to select all records which falls partly into this filter range. Assumption: records has ValidFrom and ValidTo property.

    DateTime intervalDateFrom = new DateTime(1990, 01, 01);
    DateTime intervalDateTo = new DateTime(2000, 01, 01);
    
    var itemsFiltered = allItems.Where(x=> 
        (x.ValidFrom >= intervalDateFrom && x.ValidFrom <= intervalDateTo) ||
        (x.ValidTo >= intervalDateFrom && x.ValidTo <= intervalDateTo) ||
        (intervalDateFrom >= x.ValidFrom && intervalDateFrom <= x.ValidTo) ||
        (intervalDateTo >= x.ValidFrom && intervalDateTo <= x.ValidTo)
    );
    

提交回复
热议问题