-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分的原因是因为你按小时分组,不包括日,月,年...... –
请提供一些你想要的样本数据表和结果。日期和节点名称是否重要尚不清楚 –