Funkce PHP Date() & Time: Jak získat aktuální časové razítko?
⚡ Chytré shrnutí
Funkce date() v PHP formátuje časová razítka do čitelného formátu data a času. Tento návod vysvětluje syntaxi data, časové razítko v Unixu, jak vypsat a nastavit časová pásma, funkci mktime pro vytváření časových razítek a kompletní referenci formátovacích znaků času, dne, měsíce a roku.

Funkce PHP date().
Funkce date v PHP je vestavěná funkce, která zjednodušuje práci s datovými typy data. Funkce date v PHP se používá k formátování data nebo času do formátu čitelného pro člověka. Lze ji použít k zobrazení data publikování článku nebo k záznamu poslední aktualizace dat v databázi.
Syntaxe data PHP a příklad
Funkce date() v PHP má následující základní syntaxi.
<?php date(format,[timestamp]); ?>
TADY,
- „date(…)“ je funkce, která vrací aktuální časové razítko formátované v PHP na serveru.
- „formát“ je obecný formát, ve kterém chceme mít výstup, například:
- „Ymd“ pro formát data v PHP RRRR-MM-DD
- „Y“ pro zobrazení aktuálního roku
- „[timestamp]“ je volitelný. Pokud nebylo zadáno žádné časové razítko, PHP použije aktuální datum a čas na serveru.
Podívejme se na základní příklad, který zobrazuje aktuální rok.
<?php echo date("Y"); ?>
Výstup:
2026
Co je časové razítko?
Časové razítko v PHP je číselná hodnota v sekundách mezi aktuálním časem a hodnotou v 1.st Leden 1970 00:00:00 greenwichského středního času (GMT).
Hodnota vrácená funkcí času závisí na výchozím časovém pásmu.
Výchozí časové pásmo je nastaveno v souboru php.ini. Lze jej také nastavit programově pomocí funkce date_default_timezone_set.
Níže uvedený kód zobrazuje aktuální časové razítko.
<?php
echo time();
?>
Za předpokladu, že jste soubor timestamp.php uložili do složky phptuts, přejděte do URL http://localhost/phptuts/timestamp.php
Poznámka: Hodnota časového razítka není konstantní. Mění se každou sekundu.
Získání seznamu dostupných identifikátorů časových pásem
Než se podíváme na to, jak programově nastavit výchozí časové pásmo, podívejme se, jak získat seznam podporovaných časových pásem.
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
TADY,
- „$timezone_identifiers = DateTimeZone::listIdentifiers();“ volá statickou metodu listIdentifiers vestavěné třídy DateTimeZone. Metoda listIdentifiers vrací seznam identifikátorů, které jsou přiřazeny proměnné $timezone_identifiers.
- „foreach{…}“ prochází polem a vypisuje hodnoty.
Za předpokladu, že jste soubor list_time_zones.php uložili do složky phptuts, přejděte do URL http://localhost/phptuts/list_time_zones.php
PHP nastavuje časové pásmo programově
Funkce date_default_timezone_set umožňuje nastavit výchozí časové pásmo z PHP skriptu.
Nastavené časové pásmo bude poté použito pro všechny Funkce PHP ve vašich skriptech. Má následující syntaxi.
<?php date_default_timezone_set(string $timezone_identifier); ?>
TADY,
- „date_default_timezone_set()“ je funkce, která nastavuje výchozí časové pásmo
- „string $timezone_identifier“ je identifikátor časového pásma
Následující skript zobrazuje čas podle výchozího časového pásma nastaveného v souboru php.ini. Poté změní výchozí časové pásmo na Asie/Kalkata a znovu zobrazí čas.
<?php echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); date_default_timezone_set("Asia/Calcutta"); echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); ?>
Za předpokladu, že jste uložili soubor set_time_zone.php do složky phptuts, přejděte do URL http://localhost/phptuts/set_time_zone.php
Funkce PHP Mktime
Funkce mktime vrací časové razítko v a Unix formát.
Má následující syntaxi.
<?php mktime(hour, minute, second, month, day, year, is_dst); ?>
TADY,
- „mktime(…)“ je funkce časového razítka v PHP
- „hodina“ je volitelné; je to číslo hodiny
- „Minuta“ je volitelné; jedná se o počet minut
- „Sekunda“ je volitelné; jedná se o počet sekund
- „Měsíc“ je volitelný; je to číslo měsíce
- „den“ je volitelný; je to číslo dne
- „Rok“ je volitelný; je to číslo roku
- „is_dst“ je volitelný argument; používá se k určení letního času (DST). 1 je pro DST, 0, pokud ne, a -1, pokud není znám.
Podívejme se nyní na příklad, který vytváří časové razítko pro datum 13. 10. 2025 pomocí funkce mktime.
<?php
echo mktime(0,0,0,10,13,2025);
?>
TADY,
- „0,0,0“ představuje hodinu, minutu a sekundu.
- „10“ je měsíc v roce
- „13“ je den v měsíci
- „2025“ je rok
Výstup:
1760328000
Referenční příručka pro formát data v PHP
Níže uvedené tabulky ukazují běžné formátovací znaky používané při práci s funkcemi data v PHP.
Časové parametry
| Parametr | Description | Příklad |
|---|---|---|
| "R" | Vrátí celé datum a čas |
<?php echo date("r"); ?> |
| „a“, „A“ | Vrací, zda je aktuální čas dopoledne nebo odpoledne, dopoledne nebo odpoledne |
<?php echo date("a"); echo date("A"); ?> |
| „g“, „G“ | Vrátí hodinu bez úvodních nul [1 až 12], resp. [0 až 23] |
<?php echo date("g"); echo date("G"); ?> |
| „h“, „H“ | Vrátí hodinu s úvodními nulami [01 až 12], [00 až 23] v uvedeném pořadí. |
<?php echo date("h"); echo date("H"); ?> |
| „i“, „s“ | Vrátí minuty/sekundy s nulami na začátku [00 až 59] |
<?php echo date("i"); echo date("s"); ?> |
Parametry dne
| Parametr | Description | Příklad |
|---|---|---|
| „D“ | Vrátí den v měsíci s úvodními nulami [01 až 31] |
<?php echo date("d"); ?> |
| "j" | Vrátí den v měsíci bez úvodních nul [1 až 31] |
<?php echo date("j"); ?> |
| „D“ | Vrátí první 3 písmena názvu dne [Ne až So] |
<?php echo date("D"); ?> |
| "L" | Vrátí název dne v týdnu [neděle až sobota] |
<?php echo date("l"); ?> |
| "V" | Vrátí den v týdnu bez úvodních nul [0 až 6]; neděle je reprezentována nulou (0) až sobota je reprezentována šestkou (6). |
<?php echo date("w"); ?> |
| „Z“ | Vrátí den v roce bez úvodních mezer [0 až 365] |
<?php echo date("z"); ?> |
Parametry měsíce
| Parametr | Description | Příklad |
|---|---|---|
| "M" | Vrátí číslo měsíce s úvodními nulami [01 až 12] |
<?php echo date("m"); ?> |
| „N“ | Vrátí číslo měsíce bez úvodních nul [1 až 12] |
<?php echo date("n"); ?> |
| „M“ | Vrátí první 3 písmena názvu měsíce [leden až prosinec] |
<?php echo date("M"); ?> |
| "F" | Vrátí název měsíce [leden až prosinec] |
<?php echo date("F"); ?> |
| „T“ | Vrátí počet dní v měsíci [28 až 31] |
<?php echo date("t"); ?> |
Parametry roku
| Parametr | Description | Příklad |
|---|---|---|
| "L" | Vrací 1, pokud je přestupný rok, a 0, pokud není přestupný rok. |
<?php echo date("L"); ?> |
| „Y“ | Vrátí čtyřmístný formát roku |
<?php echo date("Y"); ?> |
| „Y“ | Vrátí dvoumístný formát roku (00 až 99) |
<?php echo date("y"); ?> |



