Я как бы застрял здесь с функцией mktime, и я был бы признателен за любую помощь, которую я могу получить.
Итак, что я делаю, это заставляю пользователя вводить год, месяц и день, а затем запускать структуру tm, чтобы вычислить все следующим образом:
struct tm time;
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;
Затем я запускаю функцию mktime и устанавливаю ее равной t:
t = mktime (& время);
А затем я запускаю функцию печати следующим образом:
printf ("% s", ctime (& t));
Однако с помощью этого метода я получаю, например, следующее:
Сб 23 авг 00:00:00 2013
Но я бы хотел, чтобы окончательный формат времени выглядел так:
Пн 2013 02 11
Как бы я это сделал? Я считаю, что мой подход к функции ctime неверен.
Может стоит использовать функцию strftime?
Обратите внимание, что мне не нужно печатать текущее время.
Спасибо, хорошего вам :)