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 |
); |
typedef struct _FILETIME { // ft DWORD dwLowDateTime; DWORD dwHighDateTime; } FILETIME;
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) |
Bits |
Contents |
0-4 |
Second divided by 2 |
5-10 |
Minute (0-59) |
11-15 |
Hour (0-23 on a 24-hour clock) |
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.
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.
DosDateTimeToFileTime, FileTimeToSystemTime, SystemTimeToFileTime