Rozdíl mezi PHP funkcemi date() a gmdate()

Obsah
Pokud v PHP pracujete s datumem a časem, často narazíte na dvě velmi podobné funkce – date()
a gmdate()
. Na první pohled dělají totéž, ale rozdíl spočívá v tom, jaký čas používají jako základ pro výstup.
date()
– Lokální čas serveru
Funkce date()
vrací datum a čas podle lokálního časového pásma serveru. Pokud server běží např. v časovém pásmu „Europe/Prague“, bude výstup odpovídat tomuto pásmu.
<?php
date_default_timezone_set('Europe/Prague');
echo date("Y-m-d H:i:s");
?>
Výstup: 2025-03-15 14:30:00 (například)
gmdate()
– UTC čas
Funkce gmdate()
naproti tomu vrací datum a čas podle UTC (Coordinated Universal Time), tedy nezávisle na časovém pásmu serveru.
<?php
echo gmdate("Y-m-d H:i:s");
?>
Výstup: 2025-03-15 13:30:00 – což odpovídá UTC času bez posunu časového pásma.
Praktický rozdíl mezi date()
a gmdate()
Funkce | Základní čas | Typické použití |
---|---|---|
date() |
Lokální čas serveru (nastavitelný) | Zobrazení uživatelům, časové značky, události |
gmdate() |
UTC čas | Exporty, synchronizace, RSS, API data |
Příklad porovnání obou funkcí
<?php
date_default_timezone_set('Europe/Prague');
echo "Lokální čas: " . date("Y-m-d H:i:s") . "<br>";
echo "UTC čas: " . gmdate("Y-m-d H:i:s");
?>
Výstup:
- Lokální čas: 2025-03-15 14:45:00
- UTC čas: 2025-03-15 13:45:00
Kdy použít kterou funkci?
date()
– pokud potřebujete pracovat s časem v konkrétním časovém pásmu, např. pro uživatelské rozhraní, události, publikace článků.gmdate()
– když potřebujete konzistentní a standardizovaný čas, např. v exportech, RSS feedech, API nebo protokolech.
Závěr
Obě funkce jsou velmi užitečné – důležité je ale správně vědět, kdy použít kterou. Pokud potřebujete čas v místním formátu, použijte date()
. Pokud však vytváříte výstupy, které musí být časově univerzální (například XML nebo RSS), použijte raději gmdate()
.
Poslední aktualizace článku proběhla 15.3.2025.
OBJEDNAT SEO OPTIMALIZACI