tagCANDY CGI VBレスキュー(花ちゃん) - 日時の計算について(VB6.0) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
日時の計算について(VB6.0)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

日時の計算について(VB6.0) [No.77の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.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
メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ