EnumDateFormatsExA 函数 (winnls.h)
枚举可用于指定区域设置的长日期、短日期或年/月格式。
语法
BOOL EnumDateFormatsExA(
[in] DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx,
[in] LCID Locale,
[in] DWORD dwFlags
);
参数
[in] lpDateFmtEnumProcEx
指向应用程序定义的回调函数的指针。 有关详细信息,请参阅 EnumDateFormatsProcEx。
[in] Locale
区域设置标识符 ,指定要检索其日期格式信息的区域设置。 可以使用 MAKELCID 宏创建标识符或使用以下预定义值之一。
Windows Vista 及更高版本: 还支持以下自定义区域设置标识符。[in] dwFlags
指定日期格式的标志。 有关详细定义,请参阅 EnumDateFormatsExEx 的dwFlags 参数。
返回值
如果成功,则返回非零值,否则返回 0。 若要获取扩展错误信息,应用程序可以调用 GetLastError,这会返回以下错误代码之一:
- ERROR_INVALID_FLAGS。 为标志提供的值无效。
- ERROR_INVALID_PARAMETER。 任何参数值都无效。
注解
此函数枚举指定区域设置的所有日期格式,包括备用日历(如果有)。 但是,日历标识符不会与日期格式一起枚举,因此很难使用具有备用日历的区域设置的格式。
此函数可以从 自定义区域设置枚举数据。 不保证数据在计算机之间或应用程序运行之间的数据相同。 如果应用程序必须保留或传输数据,请参阅 使用永久性区域设置数据。
当此函数的 ANSI 版本与仅限 Unicode 的区域设置标识符一起使用时,该函数可能会成功,因为操作系统使用系统代码页。 但是,在系统代码页中未定义的字符在字符串中显示为问号 (?) 。
应用程序应使用 EnumDateFormatsEx (而不是 EnumDateFormats) 来枚举具有备用日历的区域设置的日期格式。
注意
winnls.h 标头将 EnumDateFormatsEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winnls.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |