char *ctime(const time_t *tp)
ctime переводит календарное время в местное, что эквивалентно выполнению asctime(localtime(tp))
struct tm *gmtime(const time_t *tp)
gmtime переводит календарное время во Всемирное координированное время (Coordinated Universal Time - UTC). Выдаст NULL, если UTC не известно. Имя этой функции, gmtime, происходит от Greenwich Mean Time (среднее время по Гринвичскому меридиану).
struct tm *localtime(const time_t *tp)
localtime переводит календарное время *tp в местное.
size_t strftime(char *s, size_t smax, const char *fmt, const struct tm *tp)
strftime форматирует информацию о дате и времени из *tp в строку s согласно формату fmt, который имеет много общих черт с форматом, задаваемым в функции printf. Обычные символы (включая и завершающий символ '\0') копируются в s. Каждая пара, состоящая из % и буквы, заменяется, как показано ниже, с использованием значений по форме, соответствующей местным традициям. В s размещается не более smax символов; strftime возвращает число символов без учета '\0' или нуль, если число сгенерированных символов больше smax.
%a | сокращенное название дня недели |
%A | полное название дня недели |
%b | сокращенное название месяца |
%B | полное название месяца |
%c | местное представление даты и времени |
%d | день месяца (01-31) |
%H | час (24-часовое время) (00-23) |
%I | час (12-часовое время) (01-12) |
%j | день от начала года (001-366) |
%m | месяц (01-12) |
%M | минута (00-59) |
%p | местное представление AM или РМ (до или после полудня) |
%S | секунда (00-61) |
%U | неделя от начала года (считая, что воскресенье - 1-й день недели) (00-53) |
%w | день недели (0-6, номер воскресенья - 0) |
%W | неделя от начала года (считая, что понедельник - 1-й день недели) (00-53) |
%x | местное представление даты |
%X | местное представление времени |
%y | год без указания века (00-99) |
%Y | год с указанием века |
%Z | название временной зоны, если она есть |
%% | % |