Функция 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. Любое из значений параметров было недопустимым.

Комментарии

Самая ранняя дата, поддерживаемая этой функцией, — 1 января 1601 года.

У этой функции нет связанного файла заголовка или файла библиотеки. Приложение может вызвать LoadLibrary с именем библиотеки DLL (Kernel32.dll), чтобы получить дескриптор модуля. Затем он может вызвать GetProcAddress с этим дескриптором модуля и именем этой функции, чтобы получить адрес функции.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
DLL
Kernel32.dll

См. также

Поддержка национальных языков

Функции поддержки национальных языков

Формат рисунков "День", "Месяц", "Год" и "Эра"

NLS: пример API на основе имен

EnumDateFormatsExEx

GetDateFormat

GetDateFormatEx

CALDATETIME