Функция GetTimeFormatA (datetimeapi.h)
Форматирует время в виде строки времени для языкового стандарта, указанного идентификатором. Функция форматирует заданное время или локальное системное время.
Синтаксис
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
идентификатор языкового стандарта, указывающий языковой стандарт. Вы можете использовать макрос
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] dwFlags
Флаги, указывающие параметры формата времени. Подробные определения см. в параметре
[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 |
См. также
поддержки национальных языков