[GetTimeFormatWrapW 可用于 Windows XP。 它在后续版本中可能不可用。 应在其位置使用 GetTimeFormatW 。]
将时间格式化为指定区域设置的时间字符串。 函数设置指定时间或本地系统时间的格式。
注意
GetTimeFormatWrapW 是 GetTimeFormatW 函数的包装器。 有关进一步的使用说明,请参阅 GetTimeFormat 页。
语法
int GetTimeFormatWrapW(
_In_ LCID Locale,
_In_ DWORD dwFlags,
_In_ const SYSTEMTIME *lpTime,
_In_ LPCWSTR pwzFormat,
_Out_ LPWSTR pwzTimeStr,
_In_ int cchTime
);
parameters
-
区域设置 [in]
-
类型: LCID
指定要为其设置时间字符串格式的区域设置。 如果 pwzFormat 为 NULL,则该函数根据此区域设置的时间格式设置字符串的格式。 如果 pwzFormat 不为 NULL,则函数仅对格式图片字符串 (未指定的信息使用区域设置,例如,区域设置的时间标记) 。
此参数可以是 MAKELCID 宏创建的区域设置标识符,也可以是以下预定义值之一。
-
LOCALE_SYSTEM_DEFAULT
-
默认系统区域设置。
-
LOCALE_USER_DEFAULT
-
默认用户区域设置。
dwFlags [in]
类型:DWORD
指定各种函数选项。 可以指定以下值的组合。
LOCALE_NOUSEROVERRIDE
如果已设置,则 函数使用指定区域设置的系统默认时间格式设置字符串的格式。 如果未设置,则函数使用任何用户设置字符串的格式将替代区域设置的默认时间格式。 仅当 pwzFormat 为 NULL 时,才能设置此标志。
LOCALE_USE_CP_ACP
使用系统 ANSI 代码页进行字符串转换,而不是区域设置代码页。
TIME_NOMINUTESORSECONDS
不使用分钟或秒。
TIME_NOSECONDS
不使用秒。
TIME_NOTIMEMARKER
不使用时间标记。
TIME_FORCE24HOURFORMAT
始终使用 24 小时时间格式。
lpTime [in]
类型: const SYSTEMTIME*
指向包含要格式化的时间信息的 SYSTEMTIME 结构的指针。 如果此指针为 NULL,则函数使用当前本地系统时间。
pwzFormat [in]
类型: LPCWSTR
指向用于构成时间字符串的格式的指针。 如果 pwzFormat 为 NULL,则该函数使用指定区域设置的时间格式。 有关更多详细信息,请参阅 GetTimeFormat 。
pwzTimeStr [out]
类型: LPWSTR
指向接收格式化时间字符串的缓冲区的指针。
cchTime [in]
类型: int
pwzTimeStr 缓冲区的大小(以字符为单位)。 如果 cchTime 为零,则函数返回保存格式化时间字符串所需的字符数,并且不使用 pwzTimeStr 指向的缓冲区。
返回值
类型: int
如果函数成功,则返回值是写入 pwzTimeStr 指向的缓冲区的字符数。 如果 cchTime 参数为零,则返回值是保存格式化时间字符串所需的字符数。 计数包括终止 null 字符。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 GetLastError 可能会返回以下错误代码之一。
-
ERROR_INSUFFICIENT_BUFFER
-
ERROR_INVALID_FLAGS
-
ERROR_INVALID_PARAMETER
备注
GetTimeFormatWrapW 提供在早于 Windows XP 的操作系统中使用 Unicode 字符串的功能。 首选方法是将 GetTimeFormatW 与 Microsoft Layer for Unicode (MSLU) 结合使用。
必须使用序号 310 直接从 Shlwapi.dll调用 GetTimeFormatWrapW。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
DLL |
|
另请参阅