GetTimeFormatWrapW 函数

[GetTimeFormatWrapW 可用于 Windows XP。 它在后续版本中可能不可用。 应在其位置使用 GetTimeFormatW 。]

将时间格式化为指定区域设置的时间字符串。 函数设置指定时间或本地系统时间的格式。

注意

GetTimeFormatWrapWGetTimeFormatW 函数的包装器。 有关进一步的使用说明,请参阅 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

指定要为其设置时间字符串格式的区域设置。 如果 pwzFormatNULL,则该函数根据此区域设置的时间格式设置字符串的格式。 如果 pwzFormat 不为 NULL,则函数仅对格式图片字符串 (未指定的信息使用区域设置,例如,区域设置的时间标记) 。

此参数可以是 MAKELCID 宏创建的区域设置标识符,也可以是以下预定义值之一。

LOCALE_SYSTEM_DEFAULT

默认系统区域设置。

LOCALE_USER_DEFAULT

默认用户区域设置。

dwFlags [in]

类型:DWORD

指定各种函数选项。 可以指定以下值的组合。

LOCALE_NOUSEROVERRIDE

如果已设置,则 函数使用指定区域设置的系统默认时间格式设置字符串的格式。 如果未设置,则函数使用任何用户设置字符串的格式将替代区域设置的默认时间格式。 仅当 pwzFormatNULL 时,才能设置此标志。

LOCALE_USE_CP_ACP

使用系统 ANSI 代码页进行字符串转换,而不是区域设置代码页。

TIME_NOMINUTESORSECONDS

不使用分钟或秒。

TIME_NOSECONDS

不使用秒。

TIME_NOTIMEMARKER

不使用时间标记。

TIME_FORCE24HOURFORMAT

始终使用 24 小时时间格式。

lpTime [in]

类型: const SYSTEMTIME*

指向包含要格式化的时间信息的 SYSTEMTIME 结构的指针。 如果此指针为 NULL,则函数使用当前本地系统时间。

pwzFormat [in]

类型: LPCWSTR

指向用于构成时间字符串的格式的指针。 如果 pwzFormatNULL,则该函数使用指定区域设置的时间格式。 有关更多详细信息,请参阅 GetTimeFormat

pwzTimeStr [out]

类型: LPWSTR

指向接收格式化时间字符串的缓冲区的指针。

cchTime [in]

类型: int

pwzTimeStr 缓冲区的大小(以字符为单位)。 如果 cchTime 为零,则函数返回保存格式化时间字符串所需的字符数,并且不使用 pwzTimeStr 指向的缓冲区。

返回值

类型: int

如果函数成功,则返回值是写入 pwzTimeStr 指向的缓冲区的字符数。 如果 cchTime 参数为零,则返回值是保存格式化时间字符串所需的字符数。 计数包括终止 null 字符。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastErrorGetLastError 可能会返回以下错误代码之一。

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
Shlwapi.dll (5.0 或更高版本)

另请参阅

GetTimeFormat