投稿日 | : 2004/01/27(Tue) 16:38 |
投稿者 | : ak |
Eメール | : |
URL | : |
タイトル | : Re: 日時の計算について |
サンプル記述しておきます。
Public Sub Test()
Dim lVal() As Long
Call DateDiffEx("2004/01/13 16:30:10", "2004/01/05 10:00:00", lVal)
'配列番号 0:符号 1:日数 2:時間 3:分 4:秒
MsgBox StrConv(lVal(1) & "日と" & lVal(2) & "時間" & lVal(3) & "分" & _
lVal(4) & "秒" & IIf(lVal(0) = 0, "", " 前"), vbWide)
Erase lVal
End Sub
Public Sub DateDiffEx(ByVal Date1 As Date, ByVal Date2 As Date, ByRef lVal() As Long)
Dim lTmp As Long
ReDim lVal(4)
lTmp = DateDiff("S", Date1, Date2) '秒数を取得
If lTmp < 0 Then
lVal(0) = -1
lTmp = -lTmp
End If
lVal(1) = lTmp \ 86400 '日数取得
lTmp = lTmp - (86400 * lVal(1))
lVal(2) = lTmp \ 3600 '時間取得
lTmp = lTmp - (3600 * lVal(2))
lVal(3) = lTmp \ 60 '分取得
lVal(4) = lTmp - (60 * lVal(3)) '秒取得
End Sub