Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

EnumTimeFormatsEx function

Enumerates the time formats that are available for a locale specified by name.

Note  The application should call this function in preference to EnumTimeFormats if designed to run only on Windows Vista and later.
Note  This function can enumerate data that changes between releases, for example, due to a custom locale. If your application must persist or transmit data, see Using Persistent Locale Data.


BOOL EnumTimeFormatsEx(
  _In_     TIMEFMT_ENUMPROCEX lpTimeFmtEnumProcEx,
  _In_opt_ LPCWSTR            lpLocaleName,
  _In_     DWORD              dwFlags,
  _In_     LPARAM             lParam


lpTimeFmtEnumProcEx [in]

Pointer to an application-defined callback function. For more information, see EnumTimeFormatsProcEx.

lpLocaleName [in, optional]

Pointer to a locale name, or one of the following predefined values.

dwFlags [in]

The time format. Set to 0 to use the current user's long time format, or TIME_NOSECONDS (starting with Windows 7) to use the short time format.

lParam [in]

An application-provided parameter to be passed to the callback function. This is especially useful for multi-threaded applications.

Return value

Returns a nonzero value if successful, or 0 otherwise. To get extended error information, the application can call GetLastError, which can return one of the following error codes:

  • ERROR_INVALID_FLAGS. The values supplied for flags were not valid.
  • ERROR_INVALID_PARAMETER. Any of the parameter values was invalid.


This function enumerates the time formats by passing time format string pointers, one at a time, to the specified application-defined callback function, along with an application-defined constant that is useful for multi-threaded applications. The first value in the enumeration is always the user default (override) value. The function continues enumeration until the last time format is found or the callback function returns FALSE.

Beginning in Windows 8: If your app passes language tags to this function from the Windows.Globalization namespace, it must first convert the tags by calling ResolveLocaleName.


Minimum supported client

Windows Vista [desktop apps | UWP apps]

Minimum supported server

Windows Server 2008 [desktop apps | UWP apps]


Winnls.h (include Windows.h)





See also

National Language Support
National Language Support Functions



© 2018 Microsoft