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