2010-10-28 57 views
0

我有一堆帶有值的事件(有多少人通過門口)。每個事件都與日期相關聯。事件沒有固定的時間。如果沒有人通過門,沒有事件產生,但通常是多人可以一次通過,所以價值可以大於1。按小時,天等計算與日期值相關的事件值

有時候,事情除了是幾分鐘的時間,有時是幾個小時的空白,

使用Date類,有一個簡單的方法在一段時間內以平均我的價值觀?

+0

如何被存儲或檢索這些數據?注意:如果沒有存儲在數據庫或平面文件中,如果跟蹤應用程序/進程終止,則會丟失所有數據。不知何故,我得到你已經知道的感覺,但以防萬一。 – 2010-10-29 00:57:33

+0

您是否想知道每個時間段內經歷的平均人數? – dbasnett 2010-10-29 10:50:04

+0

將數據轉儲到csv文件。 – michael 2010-10-29 18:33:47

回答

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 

,或者如果你想找的時間跨度:

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