通过


GetDateFormatWrapW 函数

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

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

注意

GetDateFormatWrapWGetDateFormatW 函数的包装器。 有关进一步的使用说明,请参阅 GetDateFormat 页。

 

语法

int GetDateFormatWrapW(
  _In_        LCID       Locale,
  _In_        DWORD      dwFlags,
  _In_  const SYSTEMTIME *lpDate,
  _In_        LPCWSTR    pwzFormat,
  _Out_       LPWSTR     pwzDateStr,
  _In_        int        cchDate
);

parameters

区域设置 [in]

类型: LCID

要为其设置日期字符串格式的区域设置。 如果 pwzFormatNULL,则该函数会根据此区域设置的日期格式设置字符串的格式。 如果 pwzFormat 不为 NULL,则该函数仅将区域设置用于格式图片字符串 (未指定的信息,例如,区域设置的日期和月份名称) 。

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

LOCALE_SYSTEM_DEFAULT

默认系统区域设置。

LOCALE_USER_DEFAULT

默认用户区域设置。

dwFlags [in]

类型:DWORD

指定各种函数选项。 如果 pwzFormat 不为 NULL,则此参数必须为零。 如果 pwzFormatNULL,则可以指定以下值的组合。 如果未指定 DATE_YEARMONTH、DATE_SHORTDATE 或 DATE_LONGDATE,并且 pwzFormatNULL,则将DATE_SHORTDATE用作默认值。

LOCALE_NOUSEROVERRIDE

如果设置,该函数将使用指定区域设置的系统默认日期格式设置字符串的格式。 如果未设置,该函数使用任何用户替代将字符串的格式设置为区域设置的默认日期格式。

LOCALE_USE_CP_ACP

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

DATE_SHORTDATE

使用短日期格式。 此值不能与DATE_LONGDATE或DATE_YEARMONTH一起使用。

DATE_LONGDATE

使用长日期格式。 此值不能与DATE_SHORTDATE或DATE_YEARMONTH一起使用。

DATE_YEARMONTH

使用年/月格式。 此值不能与DATE_SHORTDATE或DATE_LONGDATE一起使用。

DATE_USE_ALT_CALENDAR

使用备用日历(如果存在)来设置日期字符串的格式。 如果设置了此标志,该函数将使用该备用日历的默认格式,而不是使用任何用户替代。 仅当指定的备用日历没有默认格式时,才会使用用户替代。

DATE_LTRREADING

为从左到右的阅读布局添加标记。 此值不能与DATE_RTLREADING一起使用。

DATE_RTLREADING

为从右到左的阅读布局添加标记。 此值不能与DATE_LTRREADING一起使用。

lpDate [in]

类型: const SYSTEMTIME*

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

pwzFormat [in]

类型: LPCWSTR

指向用于形成日期字符串的格式图片的指针。 如果 pwzFormatNULL,则该函数使用指定区域设置的日期格式。 有关更多详细信息,请参阅 GetDateFormat

pwzDateStr [out]

类型: LPWSTR

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

cchDate [in]

类型: int

指定 pwzDateStr 缓冲区的大小(以字符为单位)。 如果 cchDate 为零,则该函数返回保存格式化日期字符串所需的字符数,并且不使用 pwzDateStr 指向的缓冲区。

返回值

类型: int

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

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

ERROR_INSUFFICIENT_BUFFER

ERROR_INVALID_FLAGS

ERROR_INVALID_PARAMETER

备注

GetDateFormatWrapW 提供在早于 Windows XP 的操作系统中使用 Unicode 字符串的功能。 首选方法是将 GetDateFormatW 与 Microsoft Layer for Unicode (MSLU) 结合使用。

必须使用序号 311 直接从 Shlwapi.dll 调用 GetDateFormatWrapW

要求

要求
最低受支持的客户端
Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
DLL
Shlwapi.dll (5.0 或更高版本)

另请参阅

GetDateFormat