Главная    Разработка ПО    функции языка Си

Описание функций языка Си

" S "

scalb,scalbf,scalbl 

scalbln,scalblnf,scalblnl 

scalbn,scalbnf,scalbnl 

setbuf 

setvbuf 

signbit 

sin,sinf,sinl 

sincos,sincosf,sincosl 

sinh,sinhf,sinhl 

sleep 

sqrt,sqrtf,sqrtl 

strcasestr 

strcat 

strchr 

strchrnul 

strcmp 

strcpy 

strcspn 

strdup 

strerror 

strftime 

strlen 

strncat 

strndup 

strncmp 

strncpy 

strpbrk 

strrchr 

strspn 

strstr 

strtod 

strtok 

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

strftime – перевод даты и времени в текстовую строку заданного формата.

Синтаксис:

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

Аргументы:

str – указатель на строку в которую будет помещен результат преобразования.
maxsize – длина строки, на которую указывает аргумент str.
str_form – формат преобразования даты и времени.
t_time – структура, содержащая дату и время для преобразования

Возвращаемое значение:

Если дата и время успешно преобразованы и длинна полученной строки не превышает maxsize, то функция возвращает длину полученной строки, иначе возвращается 0, при этом содержимое строки, на которую указывает аргумент str будет неопределенно.

Описание:

Функция strftime () преобразует локальное (местное) время, представленное в виде структуры типа struct tm, на которую указывает аргумент m_time, в текстовую строку.

Выходная текстовая строка формируется в соответствии с форматом, на который указывает аргумент str_form. В конце строки помещается нулевой символ (признак конца строки).

Строка, содержащая формат преобразования, может содержать как обычные символы, так и спецификаторы (аналогично формату функции printf, но с другими спецификаторами). Обычные символы копируются в выходную строку без изменения, спецификаторы заменяются на соответствующие данные из структуры, на которую указывает аргумент t_time.

При преобразовании используются следующие спецификаторы:

%a - сокращенное название дня недели (например, Sun).
%A - полное название дня недели (например, Sunday).
%b - сокращенное название месяца (например, Dec).
%B - полное название месяца (например, December).
%c - дата и время (например, Dec 2 06:55:15 1979).
%d - день месяца (например, 02).
%H - час в 24-часовом диапазоне (например, 06).
%I - час в 12-часовом диапазоне (например, 06).
%j - день года начиная с 001 (например, 335).
%m - месяц начиная с 01 (например, 12).
%M - минуты (например, 55).
%p - AM/PM индикатор, AM - означает до полудня, PM - после полудня (например, AM).
%S - секунды (например, 15).
%U - номер недели (с воскресенья до понедельника) в году, начиная с 00 (например, 48).
%w - номер дня недели, воскресенью соответствует 0 (например, 6).
%W - номер недели (с понедельника до воскресенья) в году, начиная с 00 (например, 47).
%x - дата (например, Dec 2 1979).
%X - время (например, 06:55:15).
%y - последние две цифры года (например, 79).
%Y - год (например, 1979).
%Z - часовой пояс (например, EST).
%% - символ процента %.

Структура tm содержит элементы:

int tm_sec – секунды (отсчет с 0);
int tm_min – минуты (отсчет с 0);
int tm_hour - часы (отсчет с 0);
int tm_mday - день месяца (отсчет с 1);
int tm_mon - месяц (отсчет с 0);
int tm_year – год;
int tm_wday - день недели (воскресенье - 0);
int tm_yday - день в году (отсчет с 0);
int tm_isdst - признак "летнее время" (больше нуля если «летнее время», ноль если «зимнее время», меньше нуля если нет информации.

Пример:

В примере в консоль выводятся дата, день недели, время, часовой пояс полученные с помощью функции strftime.


#include < stdio.h >  // Для printf
#include < time.h > // Для time, localtime, strftime

int main (void)
{    
   //Переменная для системного времени
   long int s_time;
   //Указатель на структуру с локальным временем
   struct tm *m_time;
   //Строка для сохранения преобразованного времени
   char str_t[128]=””;

   //Считываем системное время
   s_time = time (NULL);
   //Преобразуем системное время в локальное
   m_time = localtime (&s_time);

   //Преобразуем локальное время в текстовую строку
   strftime (str_t, 128, ”Дата:  %x %A %X %Z”, m_time);

   //Выводим строку в консоль
   printf (“%s\n”,str_t);

   return 0;
}

Результат:

Дата: 05/25/14 Sunday 03:34:25 MSK



Смотри так же:

asctime, asctime_r, clock_getres, clock_gettime, clock_gettime, ctime, ctime_r, difftime, gmtime, gmtime_r, localtime, localtime_r, mktime, strftime, time


Яндекс.Метрика

Рейтинг@Mail.ru