GetCalendarDateFormatEx 函数
已弃用。 使用指定的日期和日历检索指定区域设置的格式正确的日期字符串。 用户可以指定短日期格式、长日期格式、年月格式或自定义格式模式。
注意
此函数可以检索在发布之间更改的数据,例如,由于自定义区域设置。 如果应用程序必须保留或传输数据,请参阅 使用永久性区域设置数据。
语法
BOOL GetCalendarDateFormatEx(
_In_ LPCWSTR lpszLocale,
_In_ DWORD dwFlags,
_In_ const LPCALDATETIME lpCalDateTime,
_In_ LPCWSTR lpFormat,
_Out_ LPWSTR lpDateStr,
_In_ int cchDate
);
参数
-
lpszLocale [in]
-
指向区域设置名称或以下预定义值之一的指针。
-
dwFlags [in]
-
指定日期格式选项的标志。 如果未将 lpFormat 设置为 NULL,则必须将此参数设置为 0。 如果 lpFormat 设置为 NULL,则应用程序可以指定以下值和 LOCALE_NOUSEROVERRIDE的组合。
值 含义 - DATE_SHORTDATE
使用短日期格式。 这是默认值。 此值不能与 DATE_LONGDATE 或 DATE_YEARMONTH 一起使用。 - DATE_LONGDATE
使用长日期格式。 此值不能与DATE_SHORTDATE或DATE_YEARMONTH一起使用。 - DATE_YEARMONTH
使用年/月格式。 此值不能与DATE_SHORTDATE或DATE_LONGDATE一起使用。 - DATE_LTRREADING
为从左到右的阅读布局添加标记。 此值不能与 DATE_RTLREADING 一起使用。 - DATE_RTLREADING
为从右到左的阅读布局添加标记。 此值不能与 DATE_LTRREADING -
lpCalDateTime [in]
-
指向 CALDATETIME 结构的指针,该结构包含要设置格式的日期和日历信息。
-
lpFormat [in]
-
指向用于构成日期字符串的格式图片字符串的指针。 格式图片字符串的可能值在 日、月、年和纪元格式图片中定义。
格式图片字符串必须以 null 结尾。 函数仅将区域设置用于未在格式图片字符串中指定的信息,例如区域设置的日期和月份名称。 如果函数要使用指定区域设置的日期格式,则应用程序会将此参数设置为 NULL 。
-
lpDateStr [out]
-
指向此函数接收格式化日期字符串的缓冲区的指针。
-
cchDate [in]
-
lpDateStr 缓冲区的大小(以字符为单位)。 或者,应用程序可以将此参数设置为 0。 在这种情况下,函数返回保存格式化日期字符串所需的字符数,并且不使用 lpDateStr 参数。
返回值
如果成功,则返回写入 lpDateStr 缓冲区的字符数。 如果 cchDate 参数设置为 0,则该函数将返回保存格式化日期字符串所需的字符数,包括终止 null 字符。
如果此函数不成功,则返回 0。 若要获取扩展错误信息,应用程序可以调用 GetLastError,这会返回以下错误代码之一:
- ERROR_DATE_OUT_OF_RANGE。 指定的日期在范围外。
- ERROR_INSUFFICIENT_BUFFER。 提供的缓冲区大小不够大,或者错误地设置为 NULL。
- ERROR_INVALID_FLAGS。 为标志提供的值无效。
- ERROR_INVALID_PARAMETER。 任何参数值都无效。
备注
此函数支持的最早日期是 1601 年 1 月 1 日。
此函数没有关联的头文件或库文件。 应用程序可以使用 DLL 名称 (Kernel32.dll) 调用 LoadLibrary 以获取模块句柄。 然后,它可以使用该模块句柄和此函数的名称调用 GetProcAddress 以获取函数地址。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 [仅限桌面应用] |
DLL |
|
另请参阅