按小时,天等平均与日期值关联的事件值

时间:2010-10-28 22:14:04

标签: vb.net date report average

我有很多带有价值观的事件(有多少人通过了门口)。每个事件都与日期相关联。事件没有固定的时间段。如果没有人进门,就不会产生任何事件,但通常会有多个人同时进行,所以价值可能大于一。

有时事件相隔几分钟,有时候会有几个小时的差距,

使用Date类,是否有一种简单的方法可以在一段时间内平均我的值?

1 个答案:

答案 0 :(得分:0)

这样的东西?

Private Function getAverageDate(ByVal allDates As List(Of Date)) As Date
    If Not allDates Is Nothing AndAlso allDates.Count <> 0 Then
        Dim total As Int64
        For Each d As Date In allDates
            total += d.Ticks
        Next
        Return New Date(System.Convert.ToInt64(total / allDates.Count))
    Else
        Return Date.MinValue
    End If
End Function

或者如果您正在寻找TimeSpan:

Private Function getAveragePeriod(ByVal allPeriods As List(Of TimeSpan)) As TimeSpan
     If Not allPeriods Is Nothing AndAlso allPeriods.Count <> 0 Then
         Dim total As Int64
         For Each ts As TimeSpan In allPeriods
             total += ts.Ticks
         Next
         Return TimeSpan.FromTicks(System.Convert.ToInt64(total / allPeriods.Count))
     Else
         Return TimeSpan.Zero
     End If
End Function