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_TIMESTAMPMySQL).

Ve formátovacím řetězci lze používat tyto znaky

znak parametru formatPopisUkázka vracených hodnot
aPříznak dopoledne/odpoledne malými písmenyam nebo pm
APříznak dopoledne/odpoledne velkými písmenyAM nebo PM
BInternetový čas Swatch000 až 999
dDen měsíce, dvě číslice s úvodními nulami01 až 31
DTextová reprezentace dne, tři znakyMon až Sun
FPlná textová reprezentace měsíce typu January nebo MarchJanuary až December
g12-hodinový formát hodiny bez úvodních nul1 až 12
G24-hodinový formát hodiny bez úvodních nul0 až 23
h12-hodinový formát hodiny s úvodními nulami01 až 12
H24-hodinový formát hodiny s úvodními nulami00 až 23
iMinuty s úvodními nulami00 až 59
I (velké i)Zjištění, zda je letní čas1 pokud je letní čas, 0 jinak.
jDen měsíce bez úvodních nul1 až 31
l (malé 'L')Plná textová reprezentace dne v týdnuSunday až Saturday
LZjištění, zda je rok přestupný1 pokud je přestupný rok, 0 jinak.
mČíselná reprezentace měsíce s úvodními nulami01 až 12
MKrátká textová reprezentace měsíce, tři znakyJan až Dec
nČíselná reprezentace měsíce bez úvodních nul1 až 12
OOdchylka od Greenwichského času (GMT) v hodináchPříklad: +0200
rDatum formátované podle RFC 822Příklad: Thu, 21 Dec 2000 16:01:07 +0200
sSekundy s úvodními nulami00 až 59
SAnglická pořadová přípona dne v měsíci, 2 znakyst, nd, rd nebo th. Dobře funguje s j
tPočet dní v daném měsíci28 až 31
TNastavení časového pásma na tomto počítačiPříklady: EST, MDT ...
USekundy od počátku éry Unix (1. ledna 1970 00:00:00 GMT)Viz také time()
wČíselná reprezentace dne v týdnu0 (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)
YPlná číselná reprezentace roku, 4 číslicePříklady: 1999 nebo 2003
yDvouciferná reprezentace rokuPříklady: 99 nebo 03
zDeň v roku0 až 365
ZPosun č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:  2024-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 2024 05:51:38 AM
echo date ("l dS of F Y h:i:s A");

// Vytiskne: July 1, 2024 is on a Saturday
echo "July 1, 2024 is on a " . date ("l", mktime(0,0,0,7,1,2024));
?>


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");
?>


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);
?>


Formátování pomocí date()
<?php
// Predpokladejme, že dnes je 10. marca 2024, 17:16:18
$today = date("F j, Y, g:i a");                // March 10, 2024, 5:16 pm
$today = date("m.d.y");                        // 03.10.24
$today = date("j, n, Y");                      // 10, 3, 2024
$today = date("Ymd");                          // 20240310
$today = date('h-i-s, j-m-y, it is w Day z ')// 05-16-17, 10-03-24, 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 2024
$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, strftimetime