Čas.h

time.h  je hlavičkový soubor standardní knihovny programovacího jazyka C obsahující typy a funkce pro práci s daty a časy.

Úvod

Některé funkce mohou pracovat s místním časem , který se může lišit od kalendářního času, například v důsledku časových pásem. Aritmetické typy jsou clock_ttaké definovány time_tpro reprezentaci času a struktura struct tm obsahuje složky kalendářního času.

název Popis
int tm_sec; Sekundy od začátku minuty - [0,60] [1]
int tm_min; Minuty od začátku hodiny - [0,59]
int tm_hour; Hodiny od půlnoci - [0,23]
int tm_mday; Den v měsíci – [1,31]
int tm_mon; Měsíce po lednu - [0,11]
int tm_year; Roky od roku 1900
int tm_wday; Dny od neděle - [0,6]
int tm_yday; Dny od 1. ledna – [0,365]
int tm_isdst; Letní čas znamení

Pole tm_isdstmá kladnou hodnotu, pokud je aktivní letní čas, jinak nulu a zápornou hodnotu, pokud informace o časovém období nejsou dostupné/neznámé.

Hlavní funkce

clock_t clock(void)

Vrátí čas, který procesor potřebuje k provedení programu, reprezentovaný typem clock_tnebo -1, pokud není znám. Dimenze vrácené hodnoty je určena konstantou CLOCKS_PER_SEC, která udává počet jednotek časové hodnoty za jednu sekundu. [2] Začátek odpočítávání času vráceného funkcí clock()se nemusí shodovat se začátkem provádění programu a časové intervaly měřené pomocí této funkce nemusí odpovídat podobným kalendářním časovým intervalům v závislosti na zdrojích přidělených program operačním systémem. [3]

time_t time(time_t *tp)

Vrátí aktuální kalendářní čas nebo −1, pokud čas není znám. Pokud se ukazatel tpnerovná NULL, pak se vrácená hodnota také zapíše do*tp

double difftime(time_t time2,time_t time1)

Vrátí rozdíl time2-time1vyjádřený v sekundách.

time_t mktime(struct tm *tp)

Převede místní čas určený strukturou *tpna kalendářní čas a vrátí jej ve stejném tvaru jako funkce time(). Komponenty struktury budou mít hodnoty ve výše uvedených rozsazích. Funkce vrací kalendářní čas nebo −1, pokud není reprezentovatelný.

char *asctime(const struct tm *tp)

Převede čas ze struktury *tpna řetězec formuláře"Sun Jan 3 15:14:13 1988\n\0"

Konstanty

CLOCKS_PER_SEC

Určuje počet tikání systémových hodin za sekundu. Používá se k převodu hodnoty vrácené funkcí clock()na sekundy.

CLK_PER_SEC

Alternativní název konstanty CLOCKS_PER_SECpoužívaný v některých knihovnách.

CLK_TCK

Zastaralé makro pro konstantu CLOCKS_PER_SEC.

Datové typy

clock_t

Vráceno funkcí clock(). Obvykle se definuje jako int nebo long int.

time_t

Vráceno funkcí time(). Obvykle se definuje jako int nebo long int.

struct tm

Nelineární, diskrétní kalendářní reprezentace času.

Příklad použití

Zobrazení aktuálního času.

#include <stdio.h> #include <time.h> int main ( void ) { const time_t timer = cas ( NULL ); printf ( "%s \n " , ctime ( & časovač )); návrat 0 ; }

Visual Studio 2010

#include <stdio.h> #include <time.h> int main ( int argc , char ** argv []) { time_t t = čas ( NULL ); struct tm * aTm = místní čas ( & t ); printf ( "%04d/%02d/%02d %02d:%02d:%02d \n " , aTm -> tm_year + 1900 , aTm -> tm_mon + 1 , aTm -> tm_mday , aTm -> tm_hour > , aTm tm_min , aTm -> tm_sec ); getchar (); návrat 0 ; }

Zapsat do souboru

#include <stdio.h> #include <time.h> int main ( int argc , char ** argv []) { time_t t = čas ( NULL ); struct tm * aTm = místní čas ( & t ); FILE * hFILE = fopen ( "test" , "w" ); fprintf ( hFILE , "%04d/%02d/%02d %02d:%02d:%02d" , aTm -> tm_year + 1900 , aTm - > tm_mon + 1 , aTm - > tm_mday , aTm - > tm_hour tm_min , aTm -> tm_sec ); návrat 0 ; }

Poznámky

  1. Interval umožňuje přestupné sekundy . http://en.cppreference.com/w/cpp/chrono/c/tm Archivováno 13. ledna 2012 na Wayback Machine
  2. Ruský muž: Knihovna volá: hodiny . Staženo 24. ledna 2019. Archivováno z originálu 25. ledna 2019.
  3. cppreference.com:hodiny . Staženo 24. ledna 2019. Archivováno z originálu 25. ledna 2019.

Odkazy