(PHP 4, PHP 5, PHP 7)
date — Formatează o oră/dată
$format
, int $timestamp
= time()
) : string
Întoarce un string formatat în conformitate cu string-ul de formatare dat,
utilizând timestamp
-ul întreg dat, sau data și ora
curentă dacă nu este furnizat nici un timestamp. Cu alte cuvinte,
timestamp
este opțional și implicit are valoarea
întoarsă de time().
format
Format acceptat de DateTimeInterface::format().
timestamp
Parametrul opțional timestamp
este un integer și este un moment de timp Unix și are valoarea
implicită a orei locale, dacă parametrul timestamp
nu
este indicat. Cu alte cuvinte, valoarea implicită este cea a funcției
time().
Întoarce un string cu dată formatat. Dacă este utilizată o valoare
non-numerică pentru timestamp
, este întors false
și este emisă o eroare de nivel E_WARNING
.
Fiecare apel al unei funcții de dată/oră va genera o E_NOTICE
dacă zona orară nu este validă și/sau un mesaj E_STRICT
sau E_WARNING
dacă se utilizează setările
sistemului sau variabila de mediu TZ. Vedeți de asemenea
date_default_timezone_set()
Example #1 Exemple date()
<?php
// Stabilește fusul orar implicit. Disponibil începând cu PHP 5.1
date_default_timezone_set('UTC');
// Afișează ceva de felul: Monday
echo date("l");
// Afișează ceva de felul: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');
// Afișează: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
/* utilizarea constantelor în parametrul format */
// Afișează ceva de felul: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);
// Afișează ceva de felul: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>
Puteți preveni ca un caracter recunoscut în string-ul de formatare să fie expandat prin prefixarea lui cu un backslash. Dacă caracterul cu backslash de acum este o secvență specială, va trebui de asemenea să prefixați backslash-ul.
Example #2 Evadarea caracterelor în date()
<?php
// Afișează ceva de felul: Wednesday the 15th
echo date('l \t\h\e jS');
?>
Este posibil de utilizat date() și mktime() împreună pentru a afla date din trecut sau viitor.
Example #3 Exemplu date() și 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);
?>
Notă:
Aceasta poate fi mai sigur decât simpla adăugare sau scădere a numărului de secunde în zi sau lună la un timestamp din cauza timpului de vară.
Unele exemple de formatare date(). Observați că trebuie să evadați caracterele suplimentare, deoarece cele ce au o însemnătate specială vor produce rezultate nedorite, iar celelalte caractere pot căpăta o însemnătate specială în versiunile viitoare ale PHP. Când evadați, aveți grijă să utilizați ghilimele singulare pentru a preveni caractere ca \n să devină newline.
Example #4 Formatarea date()
<?php
// Presupunem că astăzi este: March 10th, 2001, 5:16:18 pm
// și ne aflăm în fusul orar Mountain Standard Time (MST)
$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'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$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 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month
$today = date("H:i:s"); // 17:16:18
$today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (formatul MySQL DATETIME)
?>
Pentru a formata date în alte limbi, trebuie să utilizați funcțiile setlocale() și strftime() în loc de date().
Notă:
Pentru a genera un timestamp dintr-o reprezentare string a datei, puteți utiliza strtotime(). În plus, unele baze de date au funcții pentru a converti formatele lor de date în timestamp-uri (cum ar fi funcția » UNIX_TIMESTAMP la MySQL).
Timestamp-ul începutului interpelării este disponibil în variabila $_SERVER['REQUEST_TIME'] începând cu PHP 5.1.