.NET Fiddle

CSharp · Console

/Program.cs

using System.Collections.Generic;
using System.Linq;
using System;

public class Program
{
	public static void Main()
	{
		
		var dt = DateTime.Parse("01.01.2021");
		var input = Enumerable.Range(0, 10)
						.Select(x => new { Date = dt.AddDays(x), Ammount = 120 })
						.ToList();

		var partitionSize = 5;
		var result = Partition(input, (x) => x.Date, TimeSpan.FromDays(partitionSize))
						.Select(p=> new { Date = p.Min(x=> x.Date), Ammount= p.Sum(x=>x.Ammount) });
		
		FiddleHelper.WriteTable(result);
		
	}
	static IEnumerable<List<T>> Partition<T>(List<T> input, Func<T, DateTime> DateSelector, TimeSpan partitionSize)
	{
		var partitionEnd = DateSelector(input.First()).Add(partitionSize);
		var partition = new List<T>();

		foreach (var element in input)
		{
			var dt = DateSelector(element);
			if (dt >= partitionEnd)
			{
				yield return partition;
				partition = new List<T>();
				partitionEnd = dt.Add(partitionSize);
			}
			partition.Add(element);
		}
		yield return partition;
	}
}
;