tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時の計算について(VB6.0) ( No.0 )  [親スレッドへ]
日時: 2009/12/27 13:04
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[日付・時刻][][]                                           *
* キーワード:時間計算,日時計算,時刻計算,演算,四則計算,                           *
***********************************************************************************

元質問:日時の計算について - 少林子  2004/01/27-15:49 No.7662

DateAddやDateDiffで日付の計算は出来ますが、日時での計算がうまく出来ません。
たとえば、2004/01/05 10:00:00 から 2004/01/13 16:30:10 までは、何日何時何分何秒なのか知りたいのです。

----------------------------------------------------------------------------
Re: 日時の計算について - ak  2004/01/27-16:38 No.7668
----------------------------------------------------------------------------

サンプル記述しておきます。

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



 [スレッド一覧へ] [親スレッドへ]