VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -