Dátum a čas

Funkcia date

string date ( string format [, int timestamp] )

Vracia reťazec formátovaný podľa daného formátovacieho reťazca s použitím daného celočíselného časového razítka timestamp alebo aktuálneho miestneho času (ak nie je časové razítko zadané). Parameter timestamp je nepovinný a jeho východzia hodnota je výsledok funkcie time().

Znak parametra formátPopisUkážka vrátených hodnôt
aPríznak predpoludním/popoludní malými písmenamiam alebo pm
APríznak predpoludním/popoludní veľkými písmenamiAM alebo PM
BInternetový čas Swatch000 až 999
dDeň mesiaca, dve číslice s úvodnými nulami01 až 31
DTextová reprezentácia dňa, tri znakyMon až Sun
FPlná textová reprezentácia mesiaca typu January alebo MarchJanuary až December
g12-hodinový formát hodiny bez úvodných núl1 až 12
G24-hodinový formát hodiny bez úvodných núl0 až 23
h12-hodinový formát hodiny s úvodnými nulami01 až 12
H24-hodinový formát hodiny s úvodnými nulami00 až 23
iMinúty s úvodnými nulami00 až 59
I (veľké 'i')Zistenie, či je letný čas1 pokiaľ je letný čas, inak 0.
jDeň mesiaca bez úvodných núl1 až 31
l (malé 'L')Plná textová reprezentácia dňa v týždniSunday až Saturday
LZistenie, či je rok priestupný1 pokiaľ je prestupný rok, inak 0.
mČíselná reprezentácia mesiaca s úvodnými nulami01 až 12
MKrátka textová reprezentácia mesiaca, tri znakyJan až Dec
nČíselná reprezentácia mesiaca bez úvodných núl1 až 12
OOdchýlka od Greenwichského času (GMT) v hodináchPríklad: +0200
rDátum formátovaný podľa RFC 822Príklad: Thu, 21 Dec 2000 16:01:07 +0200
sSekundy s úvodnými nulami00 až 59
SAnglická prípona dňa v mesiaci, 2 znakyst, nd, rd alebo th
tPočet dní v danom mesiaci28 až 31
TNastavenie časového pásma na tomto počítačiPríklady: EST, MDT ...
USekundy od začiatku éry Unix (1. januára 1970 00:00:00 GMT)Viď funkciu time()
wČíselná reprezentácia dňa v týždni0 (nedeľa) až 6 (sobota)
WČíslo týždňa podľa ISO-8601, týždne začínajú v pondelokPríklad: 42 (42. týždeň v roku)
YPlná číselná reprezentácia roka, 4 číslicePríklady: 1999 alebo 2003
yDvojciferná reprezentácia rokaPríklady: 99 alebo 03
zDeň v roku0 až 365
ZPosun časového pásma v sekundách. Posun časových pásiem západne od UTC je vždy záporný, východne od UTC je vždy kladný.-43200 až 43200

<?php
// predpokladajme, že dnes je 10. marca 2001, 17:16:18
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day z '); // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // It is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:17 m is month
$today = date("H:i:s"); // 17:16:17
?>

Funkcia mktime

int mktime ( [int hodina [, int minuta [, int sekunda [, int mesiac [, int den [, int rok [, int is_dst] ] ] ] ] ] ] )

Vracia Unixový timestamp zodpovedajúci daným argumentom. Timestamp je long integer, ktorý obsahuje počet sekúnd medzi Unixovou Epochou (1.1.1970) a určeným časom.
Argumenty sa môžu vynechať v poradí z prava do ľava; všetky argumenty takto vynechané budú nastavené na aktuálnu hodnotu, ktorá zodpovedá miestnemu dátumu a času.

Funkcia mktime() je užitočná pre aritmetizáciu dátumu a validáciu, nakoľko automaticky vypočíta správnu hodnotu pre vstup mimo-rozsah.

<?php
echo date("M-d-Y", mktime(0,0,0,12,32,2007));
echo date("M-d-Y", mktime(0,0,0,13,1,2007));
echo date("M-d-Y", mktime(0,0,0,1,1,2008));
// každý z riadkov vypíše "Jan-01-2008"
?>

<?php
$d1=mktime(22,0,0,1,1,2007);
$d2=mktime(0,0,0,1,2,2007);
echo "Hodinový rozdiel = ".floor(($d2-$d1)/3600) . "\n";
echo "Minútový rozdiel = ".floor(($d2-$d1)/60) . "\n";
echo "Sekundový rozdiel = " .($d2-$d1). "\n";

echo "Rozdiel v mesiacoch = ".floor(($d2-$d1)/2628000) . "\n";
echo "Rozdiel v dňoch = ".floor(($d2-$d1)/86400) . "\n";
echo "Rozdiel v rokoch = ".floor(($d2-$d1)/31536000) . "\n";
?>