-1
我有一個數據集,每5分鐘有一個值。現在我通過LINQ查詢獲得了這個組,我將這些數據分組在小時隙中。如何從此分組數據中獲取正確的日期?
我想要得到正確的Timestamp
爲每個小時,我在這裏使用n.First().Timestamp
,但從我的結果看來它錯了。在有數年數據的數據集上,我只得到24分。
Node
看起來是這樣的:
public class Node
{
public DateTime Timestamp;
public double Value;
public string NodeName;
}
可有人告訴我怎樣可以得到每小時分組數據的正確Timestamp
?因此,我沒有Timestamp
像1/01/2014 14:05:00
,1/01/2014 14:10:00
,我只需要每小時分組1/01/2014 14:00:00
,1/01/2014 15:00:00
。
hourlynodes = (from node in nodedata group node by node.Timestamp.Hour into n select new Node
{ Timestamp = new DateTime(n.First().Timestamp.Year, // How do I get the right Year/Month/Day for each grouped hour???
n.First().Timestamp.Month,
n.First().Timestamp.Day,
n.Key, 0, 0), // n.Key here is the hour grouping
Value = n.Average(x => x.Value),
NodeName = n.First().NodeName
}
).OrderBy(x => x.Timestamp.Date);
Node類的外觀如何?什麼時間戳回到小時意味着什麼? –
你得到24分的原因是因爲你按小時分組,不包括日,月,年...... –
請提供一些你想要的樣本數據表和結果。日期和節點名稱是否重要尚不清楚 –