Я любопытно застрял здесь с функцией mktime, и я был бы признателен за любую помощь, которую я могу получить.C - Печать только выбранной информации из mktime?
Так что я делаю, имеющий вход пользователя в год, месяц и день, а затем запустить структуру тм, чтобы вычислить все так:
STRUCT время тм;
time_t t;
time.tm_year = year - 1900;
time.tm_mon = month - 1;
time.tm_mday = day;
time.tm_hour = 0;
time.tm_min = 0;
time.tm_sec = 0;
time.tm_isdst = -1;
А потом я запустить функцию и указываете ей установить его равным т:
т = указываете ей (& времени);
А потом я запустить функцию печати, как это:
Printf ("% s", CTime (& т));
Однако то, что я получаю с помощью этого метода является то, это, например:
Сб авг 23 00:00:00 2013
Но то, что я хотел бы окончательный формат времени, чтобы посмотреть, как это:
пн 2013 02 11
Как бы я идти об этом? Я думаю, что мой подход с функцией ctime не совсем прав.
Возможно, мне следует использовать функцию strftime?
Обратите внимание, что мне не нужно печатать текущее время.
Спасибо, есть хороший:)
Запрошенная строка формата будет ''% a% Y% m% d "'. –
Привет, спасибо за ваш ответ. Я думал, что это будет путь. но как бы реализовать его, если моя структура объявлена как это struct tm time; вместо struct tm * time? – Daeto
Ну, вы можете просто использовать ссылочный оператор, чтобы указать на структуру, которую вы имеете: 'strftime (str, 50,"% a% G% m% d ", &time);', но я не уверен, что вы пытаетесь Почему бы просто не объявить его как указатель и использовать localtime? – Linus