Studijní materiály
EXTRA Kontakt

Manipulace s časem a datumem v jazyce C

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.

Získání aktuálního času

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".

Příklad:

#include <stdio.h>
      #include <time.h>
      
      int main() {
          time_t t = time(NULL);
          printf("Aktualni cas: %ld\n", (long) t);
          return 0;
      }
      

Formátování času

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ů.

Příklad:

#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;
      }
      

Manipulace s časovými strukturami

Č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.

Příklad:

#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;
      }
      

Manipulace s časem

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ší.

Závěr

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.