現在時刻を指定したフォーマットで取得する

2021年8月22日

GetCurrentTime関数

現在時刻を引数で指定した時刻フォーマットで取得する関数。
ShowErrorMessage関数についてはリンク先をご参照ください。
'==================================================
' <summary>
' 現在時刻を指定したフォーマットで取得する
' </summary>
' <param name="timeFormat">時刻フォーマット</param>
' <returns>現在時刻</returns>
' <remarks>
' 時刻フォーマットがブランクの場合、hh:mm:ss形式で取得する
' </remarks>
'==================================================
Public Function GetCurrentTime(ByVal timeFormat As String) As String
 
    On Error GoTo Catch
 
    GetCurrentTime = ""
 
    If timeFormat <> "" Then
        GetCurrentTime = Format(Time, timeFormat)
    Else
        GetCurrentTime = Format(Time, "hh:mm:ss")
    End If
 
    Exit Function
 
Catch:
    Call ShowErrorMessage("GetCurrentTime")
 
End Function

実行方法

'==================================================
' <summary>
' GetCurrentTime関数のテスト
' </summary>
'==================================================
Sub TestGetCurrentTime()

    Dim result As String

    result = GetCurrentTime("hh時mm分ss秒")
    result = result &amp;amp; vbCrLf &amp;amp; GetCurrentTime("")

    MsgBox result

End Sub

【一般的な時間記号】

記号範囲
h0 ~ 23 (「AM」または「PM」を追加した 1 ~ 12 の数値) (前に 0 を付けない、1 日の中の時間)
hh00 ~ 23 (「AM」または「PM」を追加した 01 ~ 12 の数値) (前に 0 を付ける、1 日の中の時間)
n0 ~ 59 (前に 0 を付けない、1 時間の中の分)
nn00 ~ 59 (前に 0 を付ける、1 時間の中の分)
m0 ~ 59 (前に 0 を付けない、1 時間の中の分) h または hh が先行する場合のみ
mm00 ~ 59 (前に 0 を付ける、1 時間の中の分) h または hh が先行する場合のみ
s0 ~ 59 (前に 0 を付けない、1分の中の秒)
ss00 ~ 59 (前に 0 を付ける、1分の中の秒)

実行結果