V jazyce C lze manipulovat s časem a datem pomocí různých knihoven a funkcí. Základními knihovnami pro práci s časem jsou time.h
a date.h
. Tyto knihovny poskytují funkce pro získání aktuálního času, manipulaci s časovými strukturami, formátování a další operace s časem a datem.
Pro získání aktuálního času se používá funkce time()
z knihovny time.h
. Tato funkce vrátí počet sekund, které uplynuly od půlnoci 1. ledna 1970 (tzv. epocha). Tento časový údaj se často označuje jako "Unixový čas" nebo "epochal time".
#include <stdio.h>
#include <time.h>
int main() {
time_t t = time(NULL);
printf("Aktualni cas: %ld\n", (long) t);
return 0;
}
Pro formátování času a datumu na lidsky čitelný formát se používá funkce strftime()
. Tato funkce umožňuje specifikovat požadovaný formát výstupu pomocí formátovacích řetězců.
#include <stdio.h>
#include <time.h>
int main() {
time_t t = time(NULL);
struct tm *tm_info = localtime(&t);
char cas[20];
strftime(cas, 20, "%Y-%m-%d %H:%M:%S", tm_info);
printf("Aktualni cas: %s\n", cas);
return 0;
}
Časové struktury jsou reprezentací času a data v jazyce C. Nejběžněji používanou strukturou je struct tm
, která obsahuje informace jako rok, měsíc, den, hodiny, minuty a sekundy.
#include <stdio.h>
#include <time.h>
int main() {
time_t t = time(NULL);
struct tm *tm_info = localtime(&t);
printf("Aktualni cas: %d:%d:%d\n", tm_info->tm_hour, tm_info->tm_min, tm_info->tm_sec);
return 0;
}
Kromě získání aktuálního času je také možné provádět různé operace s časem, jako je přidání nebo odebrání určitého počtu sekund, manipulace s časovými zónami a další.
Manipulace s časem a datem je důležitou součástí mnoha programů. V jazyce C lze tuto manipulaci provádět pomocí různých funkcí a knihoven, které umožňují získávání aktuálního času, formátování, manipulaci s časovými strukturami a další operace s časem a datem.