□技術メモ - VB6 日付・時刻管理 ※管理人の個人的な技術メモです。このページの内容の実行結果について 管理人はいかなる責任も負いかねますのでご自身の責任でお試しください。 ----------------------------------------------------------- ○VB6における日付・時刻管理 CDateTime.cls -------- Option Explicit '================================= '--> CDateTime '目的:日付・時刻管理 '---- メソッド一覧 'GetDt 'GetDt2 'GetSysDt '<-- ここまで '================================= 'Public Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) Public Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) 'グリニッジ時刻 + 9時間 = 日本時刻 Public Type SYSTEMTIME wYear as Integer wMonth as Integer wDayOfWeek as Integer wDay as Integer wHour as Integer wMin as Integer wSec as Integer wMillSec as Integer End Type '起動処理 Private Sub Class_Initialize() ' End Sub '終了処理 Private Sub Class_Terminate() ' End Sub '================================= '公開関数 '================================= 'システム時刻取得(millSecを取得できる) '引数:取得用 現在時刻 , millSec(3ケタ) Public Function GetSysTime(ByRef pdDate as Date, ByRef psMillSec as String) Dim tm as SYSTEMTIME Dim strWk as String Call GetLocalTime(tm) 'GetSystemTimeはグリニッジ標準時を取得する strWk = CStr(tm.wYear) & "/" & _ CStr(tm.wMonth) & "/" & _ CStr(tm.wDay) & " " & _ CStr(tm.wHour) & ":" & _ CStr(tm.wMin) & ":" & _ CStr(tm.wSec) pdDate = CDate(strWk) '時刻取得 psMillSec = Right("000" & CStr(tm.wMillSec), 3) 'ミリ秒取得 End Function '日付・時刻の取得 'デフォルトは、現在時刻、YYYYMMDD_hhnnss形式 '引数:日付時刻(指定なしなら現在時刻), 書式(デフォルトは "YYYYMMDD_hhnnss") Public Function GetDt( optional pdDate as Date = now, optional psFormat as String = "YYYYMMDD_hhnnss" ) As String GetDt = "" GetDt = Format(pdDate, psFormat); '分はmmでも取得できるが本来はnnらしい End Function '日付・時刻の取得2 'デフォルトは、現在時刻、YYYY/MM/DD hh:nn:ss形式 '引数:日付時刻(指定なしなら現在時刻), 書式(デフォルトは "YYYY/MM/DD hh:nn:ss") Public Function GetDt2( optional pdDate as Date = now, optional psFormat as String = "YYYY/MM/DD hh:nn:ss" ) As String GetDt2 = "" GetDt2 = Format(pdDate, psFormat); '分はmmでも取得できるが本来はnnらしい End Function --------