.NET Fiddle

CSharp · Console

/Program.cs

using System.Collections.Generic;
using System.Linq;
using System;
			
public class Program
{
	public static void Main()
	{
		foreach( var t in Split(new DateTime(2018,8,1), new DateTime(2018,8,17),6)){
			Console.WriteLine(t.Item1.ToString() + " " + t.Item2.ToString());
		}
	}	
	
	public static IEnumerable<Tuple<DateTime, DateTime>> Split(DateTime start, DateTime end, int chunk)
    {
        DateTime chunkEnd;
        while ((chunkEnd = start.AddDays(chunk)) < end)
        {
            yield return Tuple.Create(start, chunkEnd);
            start = chunkEnd.AddDays(1);
        }
        yield return Tuple.Create(start, start.AddDays(chunk));
    }
	
}
;