How to split Fromdate and Todate based on weekdays(Sat,Sun) using linq c#

This should work:

DateTime tempStart = StartDate;
var list = new List<Splitdate>();
for (DateTime date = StartDate; date.Date <= EndDate.Date; date = date.AddDays(1))
{
    if (day.DayOfWeek == DayOfWeek.Saturday)
    {
        var temp = new Splitdate();
        temp.Fromdate = tempStart;
        temp.Todate = date.AddDays(-1);
        list.Add(temp);
        tempStart.AddDays(2);
    }
}
if (tempStart <= EndDate)
{
    var temp = new Splitdate();
    temp.Fromdate = tempStart;
    temp.Todate = EndDate;
    list.Add(temp);
}

DateTime has a built in DayOfWeek property. Loop through the days from the Fromdate to the Todate and add to a list based on the DayOfWeek value.

Leave a Comment