日付の計算

よくノーツで質問に挙がるものの1つに、時間の計算がある。
難しそうに思えるが、そうでもない。
NotesDateTimeクラスのTimeDifferenceメソッドを使えば、秒で差が取得できる。
後は、そこから時間や日にちを計算すればいいのだ。

詳しくは下記のサンプルを見てほしい。

Sub Click(Source As Button)
 Dim DateA As NotesDateTime
 Dim DateB As NotesDateTime
 Dim str1 As String
 Dim diff As Double
 
 '最初の日付のセット
 str1 = Inputbox( "最初の日付を入力してください。", "日付の計算", Today )
 Set DateA = New NotesDateTime( str1 )
 
 '二番目の日付のセット
 str1 = Inputbox( "二番目の日付を入力してください。", "日付の計算", Today )
 Set DateB = New NotesDateTime( str1 )
 
 '日付の計算(結果は「秒」で出力される)
 diff = DateA.TimeDifference( DateB )
 Messagebox "日付の差は、" + Cstr( diff ) + "秒です。", 0, "日付の計算"
 Messagebox "日付の差は、" + Cstr( diff / 60 ) + "分です。", 0, "日付の計算"
 Messagebox "日付の差は、" + Cstr( diff / 60 / 60 ) + "時間です。", 0, "日付の計算"
 Messagebox "日付の差は、" + Cstr( diff / 60 / 60 / 24 ) + "日です。", 0, "日付の計算"
End Sub

あくまでサンプルなので、うるう年の計算はしていないので、あしからず。

コメント