Prev Next

FileTimeToDosDateTime info  Overview  Group

The FileTimeToDosDateTime function converts a 64-bit file time to MS-DOS date and time values.

BOOL FileTimeToDosDateTime(

    CONST FILETIME *lpFileTime,

// pointer to 64-bit file time

    LPWORD lpFatDate,

// pointer to variable for MS-DOS date

    LPWORD lpFatTime 

// pointer to variable for MS-DOS time

   );

Parameters

lpFileTime
Points to a FILETIME structure containing the 64-bit file time to convert to MS-DOS date and time format. The FILETIME structure has the following form:
typedef struct _FILETIME { // ft 

    DWORD dwLowDateTime; 

    DWORD dwHighDateTime; 

} FILETIME; 

 
lpFatDate
Points to a variable to receive the MS-DOS date. The date is a packed 16-bit value with the following format:

Bits

Contents

0-4

Day of the month (1-31)

5-8

Month (1 = January, 2 = February, etc.)

9-15

Year offset from 1980 (add 1980 to get actual year)

lpFatTime
Points to a variable to receive the MS-DOS time. The time is a packed 16-bit value with the following format:

Bits

Contents

0-4

Second divided by 2

5-10

Minute (0-59)

11-15

Hour (0-23 on a 24-hour clock)

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

The MS-DOS date format can represent only dates between 1/1/1980 and 12/31/2107; this conversion fails if the input file time is outside this range.

See Also

DosDateTimeToFileTime, FileTimeToSystemTime, SystemTimeToFileTime