Функция Форматирует для вывода время.
Синтаксис #include
size_t _cdecl strftime(char *s, size_t maxsize,
const char *fmt, const struct tm *t);
Файл, содержащий time.h
прототип
Описание strftime форматирует время, передаваемое в аргу-
менте t в массив, передваемый в качестве аргумен-
та s, в соответствии со спецификациями формата
определяемыми в строке fmt. Строка формата состо-
ит из набора обычных символов и директив, причем
набор может быть нулевым. Аналогично printf ди-
рективы состоят из символа '%', за которым следу-
ет символ, определяющих подстановку, выполняемую
в этом месте. Все обычные символы копируются без
изменений. В s передается максимум maxsize симво-
лов.
Возвращаемое strftime возвращет значение, определяющее число
значение символов, помещенное в s. Если требуется помес-
тить в s больше чем maxsize символов, то функция
возвращает 0.
--------------------------------------------------------------
Спецификатор Подстановка
формата
---------------------------------------------------------------
%% Символ %.
%a Сокращенное название дня недели.
%A Полное название дня недели.
%b Сокращенное название месяца
%B Полное название месяца.
%c Дата и время.
%d Число (01 до 31) из двух цифр.
%H Час из двух цифр (00 - 23).
%I Час из двух цифр (01 - 12).
%j День года из трех цифр (001 - 366).
%m Номер месяца из двух цифр.
%M Минуты из двух цифр (00 - 59).
%p AM или PM (до или после полудня).
%S Секунды из двух цифр (00 - 59).
%U Номер недели в году (Воскресенье первый день не-
дели), (00 - 52).
%w Номер дня недели, причем Воскресенье считается
первым днем недели (0 - 6).
%W Номер недели в году (Понедельник первый день не-
дели), (00 - 52).
%x Дата.
%X Время.
%y Год из двух цифр (без века: 00 - 99).
%Y Год с веком.
%Z Имя временной зоны, или ничего, если она не уста-
новлена.
--------------------------------------------------------------------
Переносимость strftime поддерживается стандартом ANSI C.
Смотрите также localtimetime
Пример:
#include
#include
#include
int main(void)
{
struct tm *time_now;
time_t secs_now;
char str[80];
tzset();
time(&secs_now);
time_now = localtime(&secs_now);
strftime(str, 80, "Сейчас %M минут после %I (%Z) %A, %B, %d 19%y",
time_now);
printf("%s\n",str);
return 0;
}