С помощью функции GetTimeFormat вы можете получить текстовую строку времени:
int GetTimeFormat(
LCID Locale, // идентификатор набора параметров
DWORD dwFlags, // флаги режимов работы функции
CONST SYSTEMTIME *lpTime, // время
LPCTSTR lpFormat, // строка формата времени
LPTSTR lpTimeStr, // буфер для полученной строки времени
int cchTime); // размер буфера в байтах
Через параметр Locale вы должны передать функции GetTimeFormat идентификатор набора национальных параметров, для которого необходимо выполнить форматирование строки времени.
Параметр dwFlags определяет режимы работы функции. Для этого параметра вы можете указать следующие значения:
Константа |
Описание |
LOCALE_NOUSEROVERRIDE |
Строка времени будет получена в формате, который используется операционной системой по умолчанию для данного идентификатора набора национальных параметров |
TIME_NOMINUTESORSECONDS |
Не использовать минуты или секунды |
TIME_NOSECONDS |
Не использовать секунды |
TIME_NOTIMEMARKER |
Не использовать маркер |
TIME_FORCE24HOURFORMAT |
Всегда использовать 24-часовой формат времени |
Параметр lpTime может принимать значение NULL или содержать указатель на заполненную структуру типа SYSTEMTIME. В первом случае после завершения работы функции в буфере lpTimeStr будет получена строка для текущего времени. Во втором случае строка будет соответствовать времени, записанному в структуре SYSTEMTIME.
Приведем формат структуры SYSTEMTIME:
typedef struct _SYSTEMTIME
{
WORD wYear; // год
WORD wMonth; // месяц (1 - январь, 2 - февраль
// и так далее)
WORD wDayOfWeek; // день недели (0 - воскресение.
// 1 - понедельник, и так далее)
WORD wDay; // день месяца
WORD wHour; // часы
WORD wMinute; // минуты
WORD wSecond; // секунды
WORD wMilliseconds; // миллисекунды
} SYSTEMTIME;
Параметр lpFormat задает строку формата, в соответствии с которым будет отформатирована выходная строка.