====== time.h ====== ===== time ===== прототип: ''time_t time(time_t *arg);'' В качестве параметра передается указатель на объект типа time_t, в который помещается текущие дата/время. То есть мы можем получить дату/время двумя способами: - как результат функции ''time_t mytime = time(NULL);'' - как записать по указателю, переданному функции ''time_t mytime; time(&mytime);'' ===== localtime ===== получает указатель на time_t, возвращает структуру типа tm time_t mytime = time(NULL); struct tm *now = localtime(&mytime); Структура tm хранит данные в ряде своих элементов, каждый из которых представляет тип int: * tm_sec: секунды от 0 до 60 * tm_min: минуты от 0 до 59 * tm_hour: часы от 0 до 23 * tm_mday: день месяца от 1 до 31 * tm_mon: месяц от 0 до 11 * tm_year: год, начиная с 1900 * tm_wday: день недели от 0 до 6 (воскресенье имеет номер 0) * tm_yday: количество дней года, прошедших с 1 января, от 0 до 365 * tm_isdst: если больше 0, то установлен переход на летнее время. Если равно 0, то переход на летнее время не действует. ===== strftime ===== преобразует дату и время в строку в определенном формате * Первый аргумент представляет строку, в которую помещается данные. В данном случае это массив char str[20] * Второй аргумент представляет размер строки, которую помещаются данные. В данном случае это вся строка. * Третий аргумент представляет спецификатор форматирования. Здесь применяется спецификатор "%T", который представляет вывод времени в формате "часы:минуты:секунды". * Четвертый аргумент собственно представляет дату и время в виде структуры tm Список спецификаторов: * %H возвращает часы * %M возвращает минуты * %S возвращает секунды * %d возвращает номер дня * %m возвращает номер месяца * %h возвращает сокращенное название месяца * %y возвращает год в виде последних двух цифр * %Y возвращает год в виде четырех цифр * %D выводит дату, аналогичен набору спецификаторов %m/%d/%y * %T выводит время, аналогичен набору спецификаторов %H:%M:%S