date

(PHP 3, PHP 4 , PHP 5)

date -- Sformátovať miestny čas/dátum

Popis

string date ( string format [, int timestamp])

Vracia reťazec sformátovaný podľa daného formátového reťazca pomocou daného integeru timestamp alebo ak nie je daný žiadny timestamp, podľa aktuálneho miestneho času. Inými slovami, timestamp je voliteľný a jeho východzou hodnotou je time().

Poznámka: Platný rozsah timestampu je typicky od Fri, 13 Dec 1901 20:45:54 GMT do Tue, 19 Jan 2038 03:14:07 GMT. (Toto sú dátumy, ktoré zodpovedajú minimálnym a maximálnym hodnotám pre 32-bitový signed integer). Na windowse je tento rozsah ohraničený od 01-01-1970 do 19-01-2038.

Na vygenerovanie timestampu z reťazcovej reprezentácie dátumu môžete použiť strtotime(). Niektoré databázy majú funkcie na konvertovanie svojich formátov dátumu na timestampy (ako je MySQL funkcia UNIX_TIMESTAMP).

Tabuľka 1. Následujúce znaky sa rozpoznávajú v reťazcovom parametri format

format znakPopisPríklad vrátenych hodnôt
aLowercase Ante meridiem a Post meridiemam alebo pm
AUppercase Ante meridiem a Post meridiemAM alebo PM
BSwatch Internet čas000999
dDeň mesiaca, 2 číslice s úvodnými nulami01 do 31
DTextová reprezentácia dňa, tri písmenáMonSun
FPlná textová reprezentácia mesiaca, ako je January alebo MarchJanuaryDecember
g12-hodinový formát hodiny bez úvodných núl112
G24-hodinový formát hodiny bez úvodných núl0 do 23
h12-hodinový formát hodiny s úvodnými nulami0112
H24-hodinový formát hodiny s úvodnými nulami00 do 23
iMinúty s úvodnými nulami00 do 59
I (velké i)Buď dátum je alebo nie je v letnom čase1 ak je Letný Čas, inak 0.
jDeň v miesiaci bez úvodných núl1 do 31
l (malé 'L')Plná textová reprezentácia dňa v týždniSundaySaturday
LČi je priestupný rok1 ak je pristupný rok, inak 0.
mČíselná reprezentácia mesiaca s úvodnými nulami0112
MKrátka textová reprezentácia mesiaca, tri písmenáJanDec
nČíselná reprezentácia mesiaca bez úvodných núl112
ORozdiel od Greenwichského času (GMT) v hodináchPríklad: +0200
rRFC 822 formátovný dátumPríkled: Thu, 21 Dec 2000 16:01:07 +0200
sSekundy s úvodnými nulami0059
SAnglická radová prípona pre deň v miesiaci, 2 znaky st, nd, rd alebo th. Dobre funguje s j
tPočet dní v dahom mesiaci2831
TNastavenie časovej zóny tohto strojaPríklad: EST, MDT ...
USekundy od Unixovej Epochy (1. Január 1970 00:00:00 GMT)Tiež pozri time()
wČasová reprezentácia dňa v týždni0 (pre Nedeľu) až 6 (pre Sobotu)
WISO-8601 číslo týždňa v roku, týždne začínajú Pondelkom (pridané v PHP 4.1.0)Príklad: 42 (42. týždeň v roku)
YPlná číselná reprezentácia roku, 4 číslicePríklady: 1999 alebo 2003
yDvoj-číslicová reprezentácia rokuPríklady: 99 alebo 03
zDeň v roku0366
ZOffset časovej zóny v sekundách. Offset pre časové zóny západne od UTC sú vždy záporné a pre tie na východ od UTC sú vždy kladné.-4320043200

Nerozpoznané znaky vo formátovanom reťazci budú vytlačené tak ako-sú. Formát Z vráti vždy 0 pri používaní gmdate().

Príklad 1. date() príklady

<?php
// Vypisuje nieco ako: Wednesday
echo date("l");

// Vypisuje nieco ako: Wednesday 15th of January 2003 05:51:38 AM
echo date ("l dS of F Y h:i:s A");

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

Pred rozpoznávané znaky môžete napísať opačné lomítko (backslash), aby nedošlo k formátovaniu. Ak už znak s opačným lomítkom je špeciálnou sekvenciou, budete ju tiež musieť zaopatriť lomítkom.

Príklad 2. Vyskočenie znakov v date()

<?php
// vypisuje nieco ako: Wednesday the 15th
echo date("l \\t\h\e jS");
?>

Je možné použiť date() spolu s mktime() na zistinie dátumov v budúcnosti alebo v minulosti.

Príklad 3. date() a mktime() príklad

<?php
$zajtra  
= mktime (0,0,0,date("m")  ,date("d")+1,date("Y"));
$minulymesiac = mktime (0,0,0,date("m")-1,date("d"),  date("Y"));
$buducirok  = mktime (0,0,0,date("m"),  date("d"),  date("Y")+1);
?>

Poznámka: Toto môže byť spoľahlivejšie než jednoduché pridanie alebo odobranie počtu sekúnd v dni alebo miesiaci do timestampu, kvôli letnému času.

Nejaké príklady date() formátovania. Všetky ostatné znaky by ste mali 'vyskočiť', pretože tie, ktoré už majú špeciálny význam budú spôsobovať nežiadúce výsledky a iným znakom môže byť nejaký význam priradený v budúcich verziách PHP. Uistite sa, že pri vyskakovaní používate jednoduché apostrofy, aby ste predišli tomu, že sa znaky ako \n nestanú novými riadkami.

Príklad 4. date() Formátovanie

<?php
// Predpokladame, ze dnes je: March 10th, 2001, 5:16:18 pm

$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
?>

Na formátovanie dátumov v iných jazykoch by ste mali používať funkcie setlocale() a strftime().

Tiež pozri getlastmod(), gmdate(), mktime(), strftime() a time().