Спонсоры сайта:

Наличие этой страницы в поиске?

Информеры ТИЦ и PR

  Yandex ТИЦ:  
   Google PR:  

Путешественникам, меломанам, бизнесменам, вебмастерам, новости.

Содержание | Глава 16

Функция strftime





#include <time.h> 
size_t strftime(char *str, size_t maxsize, const char *fmt,
                const struct tm *time);

Функция strftime() помещает информацию о времени и дате (вместе с другой информацией) в строку, адресуемую параметром str, в соответствии с командами форматирования, которые содержатся в адресуемой параметром fmt строке. Эта функция использует разделенное на компоненты время, на которое указывает указатель time. В строку str будет помещено не более maxsize символов.

В версии С99 к параметрам str, fmt и time применен квалификатор restrict.

Работа функции strftime() напоминает работу функции sprintf() в том, что она распознает набор команд форматирования, которые начинаются со знака процента (%), и помещает отформатированный результат в строку. Команды форматирования используются для задания точного способа представления различных данных времени и даты в параметре str. Любые другие символы, содержащиеся в строке форматирования, помещаются в строку str без изменений. Время и дата отображаются по местному времени. Команды форматирования перечислены в следующей таблице. Обратите внимание на то, что во многих командах прописные и строчные буквы имеют различную интерпретацию.

Функция strftime() возвращает количество символов, помещенных в строку, адресуемую параметром str, или нуль при возникновении ошибки.
КодЗамещается
%aСокращенное название дня недели
%AПолное название дня недели
%bСокращенное название месяца
%BПолное название месяца
%cСтандартная строка даты и времени
%CДве последние цифры года
%dДень месяца в виде десятичного числа (1-31)
%DДата в виде месяц/день/год (добавлено в версии С99)
%eДень месяца в виде десятичного числа (1-31) в двух-символьном поле (добавлено в С99)
%FДата в виде "год-месяц-день" (добавлено в С99)
%gПоследние две цифры года с использованием понедельного года (добавлено в С99)
%GГод с использованием понедельного года (добавлено в С99)
%hСокращенное название месяца (добавлено в С99)
Час (0-23)
%jЧас (1-12)
%jДень года в виде десятичного числа (1-366)
%mМесяц в виде десятичного числа (1-12)
%MМинуты в виде десятичного числа (0-59)
%nРазделитель строк (добавлено в С99)
%pМестный эквивалент AM (до полудня) или РМ (после полудня)
%r12-часовое время (добавлено в С99)
%RВремя в виде чч:мм (добавлено в С99)
%SСекунды в виде десятичного числа (0-60)
%TГоризонтальная табуляция (добавлено в С99)
%TВремя в виде чч:мм:сс (добавлено в С99)
%uДень недели; понедельник — первый день недели (0-6) (добавлено в С99)
%UНеделя года; воскресенье — первый день недели (0-53)
%VНеделя года с использованием понедельного года (добавлено в С99)
%wДень недели в виде десятичного числа (0-6, воскресенье — 0-й день)
%WНеделя года; понедельник — первый день недели (0-53)
%xСтандартная строка даты
%XСтандартная строка времени
%yГод в виде десятичного числа без столетия (0-99)
%YГод в виде десятичного числа, включающего столетие
%zСдвиг относительно координированного всемирного (UTC) времени (добавлено в С99)
%ZНазвание часового пояса
%%Знак процента

Версия С99 позволяет использовать в функции strftime() определенные команды форматирования с модификаторами Е и O. Модификатор Е может модифицировать такие команды, как с, C, х, X, у, Y, d, e и H. Модификатор O может модифицировать команды: I, m, M, S, u, U, V, w, W и y. Использование этих модификаторов приводит к альтернативному представлению отображаемого времени и/или даты. За подробностями обращайтесь к документации, поставляемой вместе с используемым вами компилятором.

Понедельный год используется командами форматирования %g, %G и %V. При таком представлении первым днем недели является понедельник, а первая неделя года должна включать день с датой "4 января".

Пример

Предположим, что ltime указывает на структуру, которая содержит 10:00:00 AM. Следующая программа печатает: "Сейчас 10 AM.":

#include <time.h>
#include <stdio.h>

int main(void)
{
  struct tm *ptr;
  time_t lt;
  char str[80];

  lt = time(NULL);
  ptr = localtime(<);

  strftime(str, 100, "Сейчас %H %p.", ptr);
  printf(str);

  return 0;
}

Зависимые функции

time() localtime() gmtime()
Содержание | Глава 16

C++ исходники. Все примеры - рабочие:

часы:

Dev C++ WinAPI Стрелочные часы Analog Clock

Dev C++ WinAPI Цифровые прозрачные часы. Текст на рабочем столе. Digital transparent clock. Text on desktop

Dev C++ OLE WinApi CALENDAR and DIGITAL CLOCK (15kb). Календарь и цифровые часы

Dev C++ OLE WinAPI Календарь и цифровые часы почти Vista SideBar всего 21kb

плееры:

Microsoft Visual C++ 2008 Direct Show DVD Mini Player 10.5kb

Dev C++ WinAPI Микро медиа плеер 3.5kb

Dev C++ WinAPI Мини медиа плеер 4.5kb

Dev C++ WinAPI Hint Всплывающая подсказка

Dev C++ WinAPI RECT - имитатор кнопки

Dev C++ WinAPI Заполнить ListBox

Dev C++ WinAPI Заполнить, редактировать, сохранить, загрузить ListBox (PlayList)

Dev C++ WinAPI Индикатор уровня

Dev C++ WinAPI MP3 Микро плеер Открыть с помощью...

Dev C++ WinAPI Своя кнопка

изображения:

Dev C++ GDI+ WinAPI Mini FotoResizer (16kb), изменяет размеры всех фото (JPG) до указанного размера в выбраной папке и её подпапках

Dev C++ WinAPI Сохранить BITMAP экрана, десктопа, окна, клиентской области.

Dev C++ WinAPI Изменить размер изображения BMP RESIZE. Загрузка изображений из ФАЙЛА, вывод на экран и сохранение в файл.

Dev C++ WinAPI Загрузка изображений из РЕСУРСОВ и вывод на экран.

Dev C++ GDI+ WinAPI. Преобразовать изображения из одного формата в другой (JPG в BMP, GIF, PNG и обратно ), используя дополнительные библиотеки GDI+. Загрузка изображений из файла и сохранение в файл.

Dev C++ GDI+ WinAPI масштабирование JPG RESIZE

Dev C++ OLE WinAPI. Преобразовать изображения из JPG в BMP, используя дополнительные библиотеки OLE. Загрузка изображений из РЕСУРСОВ и сохранение в файл.

Dev C++ OLE WinAPI преобразовать JPG в BMP, используя дополнительные библиотеки OLE. Загрузка изображений из ФАЙЛА и сохранение в файл.

Dev C++ OLE WinAPI масштабирование BMP RESIZE

разное:

Dev C++ WinAPI Dev C++ Преобразовать цвет точки экрана в HTML код

Dev C++ WinAPI NOTIFYICONDATA WS_EX_TOOLWINDOW Иконка в области уведомлений (notification area, tray, трей). Удалить с панели задач (taskbar).

Dev C++ WinAPI ShellExecute Создать ссылку на WEB сайт

Dev C++ WinAPI ShellExecute Создать окно со ссылкой на WEB сайт

Dev C++ WinAPI CreateProcess ShellExecute WinExec Запуск приложения из приложения

Dev C++ OLE WinAPI Создать регион Regions PopUp Меню Menu

Dev C++ FindFiles. Поиск файлов заданного типа (в примере *.JPG) в папке и её подпапках

библиотеки:

Скачать библиотеку GDI+ для Dev C++

Скачать справочнник с примерами языка C.