2

次のように、データを時間ごとにグループ化します。

group c by new { date = new DateTime(Date.Year, Date.Month, Date.Day, Date.Hour, 5, 0), name = c.Name } into g

次のようなものを取得したい:10.05 - 11.05 コードをデバッグすると、期待どおりに日付が返されます。ただし、データは引き続き10.00 - 11.00

説明できるといいのですが、これを行うためのロジックは何ですか?

ありがとう。

4

2 に答える 2

1
var groups = dList.GroupBy(d => (d.Ticks - 5*TimeSpan.TicksPerMinute) / TimeSpan.TicksPerHour)
                .Select(g => g.ToList())
                .ToList();
于 2012-11-09T15:05:29.990 に答える
1
let offSetDate = Date.AddMinutes(-5)  //shift back so that Year,Month,Day,Hour are all that matter.
let groupKey = new {
  date = new DateTime(offSetDate.Year, offSetDate.Month, offSetDate.Day, offSetDate.Hour, 5, 0),
  name = c.Name
}
group c by groupKey into g
于 2012-11-09T15:41:46.193 に答える