Как напечатать дату и время в определенном пользователем формате в консольном приложении Windows C ++?

0

что является самым простым способом печати системного времени и времени в пользовательском формате? Пользователь определяет свой формат в качестве входной строки, которую я храню в буфере, а затем мне нужно распечатать дату и время в соответствии с этим форматом в консоли. Я пишу консольное приложение c++ под окнами и не могу найти никакой функции, которая бы делала это простым способом. Благодарю!

Теги:
datetime
console-application
format

1 ответ

0

Windows предлагает функции API GetTimeFormat (..)/GetDateFormat (..) и GetTimeFormatEx (..)/GetDatFormatEx (..) для этого задания. Вот небольшой пример:

SYSTEMTIME t;
int result;
char buffer[1024];


GetLocalTime(&t);

result = GetTimeFormat(LOCALE_USER_DEFAULT,
                       0,
                       &t,
                       "hh:mm:ss",
                       (LPTSTR)buffer,
                       sizeof(buffer));
if (result > 0)
{
    printf("%s\n", buffer);
}

result = GetDateFormat(LOCALE_USER_DEFAULT,
                       0,
                       &t,
                       "dd MMM yy",
                       (LPTSTR)buffer,
                       sizeof(buffer));
if (result > 0)
{
    printf("%s\n", buffer);
}

Выход:

07:15:35
17 Nov 14

Ещё вопросы

Сообщество Overcoder
Наверх
Меню