FileTimeToDosDateTime

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
Pointer to a FILETIME structure containing the 64-bit file time to convert to MS-DOS date and time format.
lpFatDate
Pointer 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
Pointer 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.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winbase.h.
  Import Library: Use kernel32.lib.

See Also

Time Overview, Time Functions, DosDateTimeToFileTime, FileTimeToSystemTime, SystemTimeToFileTime