Есть ли такая функция, как asctime_s (), которая работает для структур SYSTEMTIME в Windows? - PullRequest
3 голосов
/ 26 июня 2010

Я знаю, что могу сделать это, если у меня есть структура struct tm, но что, если я хочу сделать то же самое с SYSTEMTIME.Я мог бы сделать это вручную, но мне просто интересно, есть ли функция, которая делает это уже.

Спасибо

 void PrintTimeSCII(struct tm *time)
 {
     char timebuf[26] = {0};

     asctime_s(timebuf, 26, time);
    printf("%s\n", timebuf);
 }

1 Ответ

1 голос
/ 26 июня 2010

GetDateFormat может быть использовано для этого.Он может форматировать дату, используя соответствующий формат для данной локали.Код ниже показывает, как использовать его для локали пользователя по умолчанию в кратком формате.

char timebuf[26];
GetDateFormat(LOCALE_USER_DEFAULT, 
              DATE_SHORTDATE,
              &sysTime,
              NULL,
              timebuf, 
              ARRAYSIZE(timebuf));
...