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