EnumDateFormats

The EnumDateFormats function enumerates the long or short date formats that are available for a specified locale, including date formats for any alternate calendars. The value of the dwFlags parameter determines whether the long or short date formats are enumerated. The function enumerates the date formats by passing date format string pointers, one at a time, to the specified application-defined callback function. This continues until the last date format is found or the callback function returns FALSE.

BOOL EnumDateFormats(
  DATEFMT_ENUMPROC lpDateFmtEnumProc, // pointer to enumeration callback function
  LCID Locale,                        // locale whose date formats are of interest
  DWORD dwFlags                       // date formats to enumerate
);
 

Parameters

lpDateFmtEnumProc
Points to an application-defined callback function. The EnumDateFormats function enumerates date formats by making repeated calls to this callback function. For more information, see the EnumDateFormatsProc callback function.
Locale
Specifies the locale to retrieve date format information for. This parameter can be a locale identifier created by the MAKELCID macro, or one of the following predefined values:
LOCALE_SYSTEM_DEFAULT Default system locale.
LOCALE_USER_DEFAULT Default user locale.
LOCALE_NEUTRAL Default language-neutral locale.

dwFlags
Specifies the date formats that are of interest. Use one of the following values:
Value Meaning
DATE_SHORTDATE Return short date formats.
DATE_LONGDATE Return long date formats.
DATE_YEARMONTH Return year/month formats.

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. GetLastError may return one of the following error codes:

ERROR_INVALID_PARAMETER
ERROR_BADDB
ERROR_INVALID FLAGS

Remarks

The DATE_SHORTDATE and DATE_LONGDATE flags are mutually exclusive. Use one or the other, but not both.

QuickInfo

  Windows NT: Requires version 3.5 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winnls.h.
  Import Library: Use kernel32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

National Language Support Overview, National Language Support Functions, EnumDateFormatsProc, EnumCalendarInfo, EnumTimeFormats