![]() |
консольное приложение в С..
Здрасти всем,
В общем что мне нужно: чисто консольное приложение в стиле MS DOS, алгоритм следующий: printf "До события осталось [25.04.2011 - *определить системную дату и время*] Т.е. имеется определенная дата, пример 25.04.2011 Мне нужно, чтобы он высчитывал разницу между текущей датой и целевой, и показывал, сколько дней, часов и минут осталось до целевой даты.. Как это можно реализовать? |
В си есть модуль <time.h>
Там есть функции и структуры для работы со временем. struct tm { int tm_sec; /* Seconds. [0-60] (1 leap second) */ int tm_min; /* Minutes. [0-59] */ int tm_hour; /* Hours. [0-23] */ int tm_mday; /* Day. [1-31] */ int tm_mon; /* Month. [0-11] */ int tm_year; /* Year - 1900. */ int tm_wday; /* Day of week. [0-6] */ int tm_yday; /* Days in year.[0-365] */ int tm_isdst; /* DST. [-1/0/1]*/ } time_t mktime(struct tm «tp) mktime преобразует местное время, заданное структурой *tp, в календарное, выдавая его в том же виде, что и функция time. Компоненты будут иметь зна- чения в указанных диапазонах. Функция mkt ime возвращает календарное вре- мя или -1, если оно не представимо. time_t time(time_t *tp) time возвращает текущее календарное время (т. е. время, прошедшее после оп- ределенной даты, - обычно после 0 ч 00 мин 00 с GMT 1-го января 1970 г. - примеч. ред.) или -1, если время не известно. Если tp не равно NULL, то возвра- щаемое значение записывается и в *tp. double difftime(time_t time2, time_t timel) dif ftime возвращает разность time2-time1, выраженную в секундах Комбинируя эти функции можно получить то, что вам надо. |
Хмм, все таки не могу понять что со всем этим делать) Как заставить его выводить время, предварительно высчитивая нужные мне данные?
|
До куда вы дошли и что не получается? Не совсем ясно, что вас не ясно.
|
Время: 09:25. |
Время: 09:25.
© OSzone.net 2001-