当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2008年5月6日火曜日

日付の計算

よくノーツで質問に挙がるものの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

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

0 件のコメント: