Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【Visual Basic】日時の最大値、最小値、平均を得る

DateTime構造体は簡単に比較できる。また、平均の日付の計算にはDateTime.Ticksプロパティを使用すればよい。以下は、4つの日付から、最小の日付、最大の日付、これら日付群の平均に相当する日付の計算例。

Dim i As Integer
Dim mydate(4), mindate, maxdate, meandate As DateTime
Dim ticksum, tickmean As Double

' これら4つの日付の最初、最大、平均を計算する
mydate(0) = #1/1/2014#
mydate(1) = #1/4/2014#
mydate(2) = #1/31/2014#
mydate(3) = #2/1/2014#
'
mindate = DateTime.MaxValue
maxdate = DateTime.MinValue
'
ticksum = 0.0
For i = 0 To 3
    If mydate(i) < mindate Then mindate = mydate(i)
    If mydate(i) > maxdate Then maxdate = mydate(i)
    ticksum += mydate(i).Ticks
Next i
tickmean = ticksum / 4
meandate = New DateTime(CLng(tickmean))
'
Console.WriteLine(CStr(mindate))
Console.WriteLine(CStr(maxdate))
Console.WriteLine(CStr(meandate))

出力は以下のとおり。

2014/01/01
2014/02/01
2014/01/17