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át | Popis | Ukážka vrátených hodnôt |
|---|---|---|
a | Príznak predpoludním/popoludní malými písmenami | am alebo pm |
A | Príznak predpoludním/popoludní veľkými písmenami | AM alebo PM |
B | Internetový čas Swatch | 000 až 999 |
d | Deň mesiaca, dve číslice s úvodnými nulami | 01 až 31 |
D | Textová reprezentácia dňa, tri znaky | Mon až Sun |
F | Plná textová reprezentácia mesiaca typu January alebo March | January až December |
g | 12-hodinový formát hodiny bez úvodných núl | 1 až 12 |
G | 24-hodinový formát hodiny bez úvodných núl | 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 | Minúty s úvodnými nulami | 00 až 59 |
I (veľké 'i') | Zistenie, či je letný čas | 1 pokiaľ je letný čas, inak 0. |
j | Deň mesiaca bez úvodných núl | 1 až 31 |
l (malé 'L') | Plná textová reprezentácia dňa v týždni | Sunday až Saturday |
L | Zistenie, či je rok priestupný | 1 pokiaľ je prestupný rok, inak 0. |
m | Číselná reprezentácia mesiaca s úvodnými nulami | 01 až 12 |
M | Krátka textová reprezentácia mesiaca, tri znaky | Jan až Dec |
n | Číselná reprezentácia mesiaca bez úvodných núl | 1 až 12 |
O | Odchýlka od Greenwichského času (GMT) v hodinách | Príklad: +0200 |
r | Dátum formátovaný podľa RFC 822 | Príklad: Thu, 21 Dec 2000 16:01:07 +0200 |
s | Sekundy s úvodnými nulami | 00 až 59 |
S | Anglická prípona dňa v mesiaci, 2 znaky | st, nd, rd alebo th |
t | Počet dní v danom mesiaci | 28 až 31 |
T | Nastavenie časového pásma na tomto počítači | Príklady: EST, MDT ... |
U | Sekundy od začiatku éry Unix (1. januára 1970 00:00:00 GMT) | Viď funkciu time() |
w | Číselná reprezentácia dňa v týždni | 0 (nedeľa) až 6 (sobota) |
W | Číslo týždňa podľa ISO-8601, týždne začínajú v pondelok | Príklad: 42 (42. týždeň v roku) |
Y | Plná číselná reprezentácia roka, 4 číslice | Príklady: 1999 alebo 2003 |
y | Dvojciferná reprezentácia roka | Príklady: 99 alebo 03 |
z | Deň v roku | 0 až 365 |
Z | Posun č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";
?>

