Поделиться через


Функция GetTimeFormatA (datetimeapi.h)

Форматирует время в виде строки времени для языкового стандарта, указанного идентификатором. Функция форматирует заданное время или локальное системное время.

Примечание По соображениям взаимодействия приложение должно предпочесть функцию GetTimeFormatExGetTimeFormat, так как корпорация Майкрософт переносится на использование имен языкового стандарта вместо идентификаторов языкового стандарта для новых языков. Любое приложение, которое будет выполняться только в Windows Vista и более поздних версий, должно использовать GetTimeFormatEx.
 

Синтаксис

int GetTimeFormatA(
  [in]            LCID             Locale,
  [in]            DWORD            dwFlags,
  [in, optional]  const SYSTEMTIME *lpTime,
  [in, optional]  LPCSTR           lpFormat,
  [out, optional] LPSTR            lpTimeStr,
  [in]            int              cchTime
);

Параметры

[in] Locale

идентификатор языкового стандарта, указывающий языковой стандарт. Вы можете использовать макрос MAKELCID для создания идентификатора языкового стандарта или использования одного из следующих предопределенных значений.

[in] dwFlags

Флаги, указывающие параметры формата времени. Подробные определения см. в параметре dwFlags GetTimeFormatEx.

[in, optional] lpTime

Указатель на структуру SYSTEMTIME, содержащую сведения о времени для форматирования. Приложение может задать для этого параметра значение NULL, если функция использует текущее локальное системное время.

[in, optional] lpFormat

Указатель на рисунок формата, используемый для форматирования строки времени. Если приложение задает этому параметру значение NULL, функция форматирует строку в соответствии с форматом времени указанного языкового стандарта. Если приложение не задает параметр для null, функция использует языковой стандарт только для сведений, не указанных в строке рисунка формата, например маркеры времени для конкретного языкового стандарта. Сведения о строке рисунка формата см. в разделе "Примечания".

[out, optional] lpTimeStr

Указатель на буфер, в котором эта функция извлекает отформатированную строку времени.

[in] cchTime

Размер в значениях TCHAR для буфера строки времени, указанного lpTimeStr. Кроме того, приложение может задать для этого параметра значение 0. В этом случае функция возвращает необходимый размер буфера строки времени и не использует параметр lpTimeStr.

Возвращаемое значение

Возвращает количество значений TCHAR, полученных в буфере, указанное lpTimeStr. Если параметр c cchTime имеет значение 0, функция возвращает размер буфера, необходимый для хранения отформатированных строк времени, включая конечный символ NULL.

Эта функция возвращает значение 0, если она не выполнена. Чтобы получить расширенные сведения об ошибке, приложение может вызывать GetLastError, что может возвращать один из следующих кодов ошибок:

  • ERROR_INSUFFICIENT_BUFFER. Указанный размер буфера был недостаточно велик или неправильно задано значение NULL.
  • ERROR_INVALID_FLAGS. Значения, предоставленные для флагов, недопустимы.
  • ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.
  • ERROR_OUTOFMEMORY. Недостаточно хранилища было доступно для выполнения этой операции.

Замечания

См. примечания для GetTimeFormatEx.

Если версия этой функции ANSI используется с идентификатором языкового стандарта юникода, функция может завершиться успешно, так как операционная система использует системную кодовую страницу. Однако символы, которые не определены в системной кодовой странице, отображаются в строке как вопросительный знак (?).

Начиная с Windows 8: GetTimeFormat объявлен в Datetimeapi.h. До Windows 8 он был объявлен в Winnls.h.

Заметка

Заголовок datetimeapi.h определяет GetTimeFormat как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка datetimeapi.h
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

GetDateFormat

GetLocaleInfo

GetTimeFormatEx

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

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