リストを時間ステップ (時間、日、週など) でグループ化し、各グループの合計を特定の時間から数えたいと考えています。
今、私は入力リストを持っています:
TIME VALUE
11:30 2
11:50 2
12:00 6
12:30 10
12:50 2
と時間ステップ
var timeStep=new TimeSpan(1,0,0);
リストをこのようなものでグループ化しています
var myList = list.GroupBy(x =>
{
return x.Time.Ticks / timeStep.Ticks;
})
.Select(g => new { Time = new DateTime(g.Key * timeStep.Ticks), Value = g.Sum(x => x.Value) }).ToList();
それはうまく機能し(毎日、毎週など、他のステップでも)、結果が得られます。
TIME SUM
11:00 4
12:00 18
しかし今、私は時間単位でリストをグループ化する必要がありますが、たとえば30分から開始するので、次のようにするにはどうすればよいですか:
TIME SUM
11:30 10
12:30 12