time.h je hlavičkový soubor standardní knihovny programovacího jazyka C obsahující typy a funkce pro práci s daty a časy.
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é.
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*tpdouble 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"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.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.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 ; }