函数参考


_Date_Time_FileTimeToDOSDateTime

转换 MS-DOS 日期与时间值到一个文件时间

#Include <Date.au3>
_Date_Time_FileTimeToDOSDateTime($pFileTime)

参数

$pFileTime 指向一个 $tagFILETIME 数据结构的指针,包含了一个转换成MS-DOS格式的文件时间.

返回值

返回一个下方格式的数组:
        [0] - MS-DOS 日期, 封装为下方格式:
        位 0- 4 ,一月中的其中一天(1–31)
        位 5- 8 ,月份 (1 = 一月, 2 = 二月, 等等)
        位 9-15 ,相对 1980 的偏移量(加上1980得到实际年份)
        [1] - MS-DOS 时间, 封装为下方格式:
        位 0- 4 ,按2分开的秒(Second divided by 2)
        位 5-10 ,分钟 (0–59)
        位 11-15 ,时钟 (0–23 于 24 小时计时)

注意/说明

None.

相关

_Date_Time_FileTimeToLocalFileTime, _Date_Time_FileTimeToSystemTime, _Date_Time_DOSDateTimeToFileTime, $tagFILETIME

示例/演示


#include <GUIConstantsEx.au3>
#include <Date.au3>
#include <WindowsConstants.au3>

Global $iMemo

_Main()

Func _Main()
    Local $tFile, $aDOS

    ; 创建 GUI
    GUICreate("Time", 400, 300)
    $iMemo = GUICtrlCreateEdit("", 2, 2, 396, 296, $WS_VSCROLL)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; 对文件时间进行编码
    $tFile = _Date_Time_EncodeFileTime(@MON, @MDAY, @YEAR, @HOUR, @MIN, @SEC)
    $aDOS = _Date_Time_FileTimeToDOSDateTime(DllStructGetPtr($tFile))
    MemoWrite("DOS date .: 0x" & Hex($aDOS[0], 4))
    MemoWrite("DOS time .: 0x" & Hex($aDOS[1], 4))

    ; 循环直到用户退出
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

EndFunc   ;==>_Main

; 写入一行到 memo 控件
Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite