PHP - date
PHP -> Funkcie -> Dátum a čas funkcie PHP -> funkcia date
Syntax
string date ( string format [, int timestamp] )
Popis
Príkaz jazyka PHP
date -- Formátuje místní datum/čas
Vracia reťazec formátovaný podľa príslušného formátovacieho reťazca s použitím danej celočíselnej časovej pečiatky timestamp alebo aktuálneho miestneho času (ak nie je časová pečiatka zadaná). Inými slovami, parameter timestamp je voliteľný a jeho predvolená hodnota je výsledok funkcie time.
Poznámka: Platný rozsah pre časovú pečiatku je typicky od piatku 13.12.1901 20:45:54 GMT do utorka 19.1.2038 03:14:07 GMT. (Tieto hodnoty zodpovedajú minimálnej a maximálnej hodnote 32-bitového celého čísla so znamienkom). Na Windows je tento rozsah obmedzený na obdobie 1.1.1970 až 19.1.2038.
K vygenerovania časovej pečiatky z reťazca reprezentatívneho dátum možno použiť funkciu strtotime. Navyše niektoré databázy majú funkcie, ktoré premenia ich dátové formáty na časové pečiatky (napr. funkcia UNIX_TIMESTAMP v MySQL).
Ve formátovacím řetězci lze používat tyto znaky
| znak parametru format | Popis | Ukázka vracených hodnot |
|---|---|---|
| a | Příznak dopoledne/odpoledne malými písmeny | am nebo pm |
| A | Příznak dopoledne/odpoledne velkými písmeny | AM nebo PM |
| B | Internetový čas Swatch | 000 až 999 |
| d | Den měsíce, dvě číslice s úvodními nulami | 01 až 31 |
| D | Textová reprezentace dne, tři znaky | Mon až Sun |
| F | Plná textová reprezentace měsíce typu January nebo March | January až December |
| g | 12-hodinový formát hodiny bez úvodních nul | 1 až 12 |
| G | 24-hodinový formát hodiny bez úvodních nul | 0 až 23 |
| h | 12-hodinový formát hodiny s úvodními nulami | 01 až 12 |
| H | 24-hodinový formát hodiny s úvodními nulami | 00 až 23 |
| i | Minuty s úvodními nulami | 00 až 59 |
| I (velké i) | Zjištění, zda je letní čas | 1 pokud je letní čas, 0 jinak. |
| j | Den měsíce bez úvodních nul | 1 až 31 |
| l (malé 'L') | Plná textová reprezentace dne v týdnu | Sunday až Saturday |
| L | Zjištění, zda je rok přestupný | 1 pokud je přestupný rok, 0 jinak. |
| m | Číselná reprezentace měsíce s úvodními nulami | 01 až 12 |
| M | Krátká textová reprezentace měsíce, tři znaky | Jan až Dec |
| n | Číselná reprezentace měsíce bez úvodních nul | 1 až 12 |
| O | Odchylka od Greenwichského času (GMT) v hodinách | Příklad: +0200 |
| r | Datum formátované podle RFC 822 | Příklad: Thu, 21 Dec 2000 16:01:07 +0200 |
| s | Sekundy s úvodními nulami | 00 až 59 |
| S | Anglická pořadová přípona dne v měsíci, 2 znaky | st, nd, rd nebo th. Dobře funguje s j |
| t | Počet dní v daném měsíci | 28 až 31 |
| T | Nastavení časového pásma na tomto počítači | Příklady: EST, MDT ... |
| U | Sekundy od počátku éry Unix (1. ledna 1970 00:00:00 GMT) | Viz také time() |
| w | Číselná reprezentace dne v týdnu | 0 (pro neděli) až 6 (pro sobotu) |
| W | Číslo týdne podle ISO-8601, týdny začínají v pondělí (doplněno v PHP 4.1.0) | Příklad: 42 (42. týden v roce) |
| Y | Plná číselná reprezentace roku, 4 číslice | Příklady: 1999 nebo 2003 |
| y | Dvouciferná reprezentace roku | Příklady: 99 nebo 03 |
| z | Deň v roku | 0 až 365 |
| Z | Posun časového pásma v sekundách. Posun časových pásem západně od UTC je vždy záporný, východně od UTC je vždy kladný. | -43200 až 43200 |
Príklad
Příklady - date()
<?php
// Napíše niečo ako: 2026-03-10
echo date("Y-m-d");
// Napíše niečo ako: Wednesday
echo date("l");
// Napíše niečo ako: Wednesday 15th of January 2026 05:51:38 AM
echo date ("l dS of F Y h:i:s A");
// Vytiskne: July 1, 2026 is on a Saturday
echo "July 1, 2026 is on a " . date ("l", mktime(0,0,0,7,1,2026));
?>
// Napíše niečo ako: 2026-03-10
echo date("Y-m-d");
// Napíše niečo ako: Wednesday
echo date("l");
// Napíše niečo ako: Wednesday 15th of January 2026 05:51:38 AM
echo date ("l dS of F Y h:i:s A");
// Vytiskne: July 1, 2026 is on a Saturday
echo "July 1, 2026 is on a " . date ("l", mktime(0,0,0,7,1,2026));
?>
Rozpoznávané znaky ve formátovacím řetězci můžete ochránit před zpracováním tak, že jim předřadíte obrácené lomítko. Pokud už má znak s obráceným lomítkem speciální význam, je třeba před něj přidat ještě jedno obrácené lomítko.
//Ochrana znaků ve funkci date()
<?php
// vytiskne něco jako 'Saturday the 8th'
echo date("l he jS");
?>
<?php
// vytiskne něco jako 'Saturday the 8th'
echo date("l he jS");
?>
Příklad - date() a mktime()
<?php
$tomorrow = mktime (0,0,0,date("m") ,date("d")+1,date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1,date("d"), date("Y"));
$nextyear = mktime (0,0,0,date("m"), date("d"), date("Y")+1);
?>
$tomorrow = mktime (0,0,0,date("m") ,date("d")+1,date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1,date("d"), date("Y"));
$nextyear = mktime (0,0,0,date("m"), date("d"), date("Y")+1);
?>
Formátování pomocí date()
<?php
// Predpokladejme, že dnes je 10. marca 2026, 17:16:18
$today = date("F j, Y, g:i a"); // March 10, 2026, 5:16 pm
$today = date("m.d.y"); // 03.10.26
$today = date("j, n, Y"); // 10, 3, 2026
$today = date("Ymd"); // 20260310
$today = date('h-i-s, j-m-y, it is w Day z '); // 05-16-17, 10-03-26, 1631 1618 6 Fripm01
$today = date('it is the jS day.'); // It is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2026
$today = date('H:m:s m is month'); // 17:03:17 m is month
$today = date("H:i:s"); // 17:16:17
?>
// Predpokladejme, že dnes je 10. marca 2026, 17:16:18
$today = date("F j, Y, g:i a"); // March 10, 2026, 5:16 pm
$today = date("m.d.y"); // 03.10.26
$today = date("j, n, Y"); // 10, 3, 2026
$today = date("Ymd"); // 20260310
$today = date('h-i-s, j-m-y, it is w Day z '); // 05-16-17, 10-03-26, 1631 1618 6 Fripm01
$today = date('it is the jS day.'); // It is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2026
$today = date('H:m:s m is month'); // 17:03:17 m is month
$today = date("H:i:s"); // 17:16:17
?>
Pozri aj
getlastmod, gmdate, mktime, strftime a time
