● MS-DOS形式の日付情報をWindows形式に変換する ●

アーカイブファイルを処理するときに重宝する関数。

MS-DOS形式の日付情報なんていつ使うのであろうか。私はLZH書庫ファイルの解凍処理を書いたときに使ったかな〜。LZH形式で圧縮された各ファイルの更新日時はMS-DOS形式なのである。その他 ZIP、RARもしかり、しかりかな?

'---------------------------------------------------------------
'  関数名: ConvDateDosToWin
'   機能 : MS-DOS形式の日付情報をWindows形式に変換する
'   引数 : (in) srcDate … MS-DOS形式の日付値
'          (in/out) trsYear … 変換された年
'          (in/out) trsMonth … 変換された月
'          (in/out) trsDay … 変換された日
'  返り値 :なし
'---------------------------------------------------------------
Public Sub ConvDateDosToWin(ByVal srcDate As Long, _
                            ByRef trsYear As String, _
                            ByRef trsMonth As String, _
                            ByRef trsDay As String)

    '年変換
    trsYear = CStr(((srcDate And &HFE00&) / 2 ^ 9) + 80)

    '月変換
    trsMonth = CStr((srcDate And &H1E0) / 2 ^ 5)

    '日変換
    trsDay = CStr((srcDate And &H1F))

End Sub

戻る