(PHP 4, PHP 5, PHP 7)
date — Formatează o oră/dată
$format
[, int $timestamp
= time()
] )
Î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
Reprezintă formatul string-ului din care se obține data la
ieșire. Vedeți opțiunile de formatare de mai jos. Există de asemenea și
câteva constante predefinite
ale datelor ce pot fi utilizate în loc, deci spre exemplu
DATE_RSS
conține șirul de formatare
'D, d M Y H:i:s'.
Caracterul de format |
Descriere | Exemple de valori întoarse |
---|---|---|
Ziua | --- | --- |
d | Ziua lunii, 2 cifre cu zero la început | De la 01 până la 31 |
D | Reprezentarea textuală a zilei în limba engleză, trei litere | De la Mon până la Sun |
j | Ziua lunii fără zero la început | De la 1 până la 31 |
l (litera minusculă 'L') | Reprezentarea textuală deplină a zilei săptămânii în limba engleză | De la Sunday până la Saturday |
N | Reprezentarea numerică a zilei săptămânii conform standardului ISO-8601 (adăugat în PHP 5.1.0) | De la 1 (pentru Luni) până la 7 (pentru Duminică) |
S | Sufixul ordinal al zilei din lună în limba engleză, 2 caractere | st, nd, rd sau th. Funcționează bine cu j |
w | Reprezentarea numerică a zilei săptămânii | De la 0 (pentru Duminică) până la 6 (pentru Sâmbătă) |
z | Ziua anului (începând de la 0) | De la 0 până la 365 |
Săptămâna | --- | --- |
W | Numărul săptămânii în an conform standardului ISO-8601, săptămânile încep Luni (adăugat în PHP 4.1.0) | Exemplu: 42 (a 42-a săptămână a anului) |
Luna | --- | --- |
F | Reprezentarea textuală deplină a lunii în limba engleză | De la January până la December |
m | Reprezentarea numerică a lunii, cu zero la început | De la 01 până la 12 |
M | Reprezentarea textuală prescurtată a lunii în limba engleză, trei litere | De la Jan până la Dec |
n | Reprezentarea numerică a lunii, fără zero la început | De la 1 până la 12 |
t | Numărul de zile în luna dată | De la 28 până la 31 |
Anul | --- | --- |
L | Indică dacă anul este bisect | 1 dacă anul este bisect, 0 în caz contrar. |
o | Reprezentarea numerică a anului conform standardului ISO-8601. Aceasta are aceeași valoare ca și Y, cu excepția că dacă numărul săptămânii după ISO (W) aparține anului precedent sau următor, acel an este considerat în loc. (adăugat în PHP 5.1.0) | Exemple: 1999 sau 2003 |
Y | Reprezentarea numerică deplină a anului, 4 cifre | Exemple: 1999 sau 2003 |
y | Reprezentarea din două cifre a anului | Exemple: 99 sau 03 |
Ora | --- | --- |
a | Ante meridiem sau Post meridiem cu litere minuscule | am sau pm |
A | Ante meridiem sau Post meridiem cu litere majuscule | AM sau PM |
B | Ora Swatch Internet | De la 000 până la 999 |
g | Reprezentarea orei în format de 12 ore, fără zero la început | De la 1 până la 12 |
G | Reprezentarea orei în format de 24 ore, fără zero la început | De la 0 până la 23 |
h | Reprezentarea orei în format de 12 ore, cu zero la început | De la 01 până la 12 |
H | Reprezentarea orei în format de 24 ore, cu zero la început | De la 00 până la 23 |
i | Minutele cu zero la început | De la 00 până la 59 |
s | Secundele cu zero la început | De la 00 până la 59 |
u | Microsecundele (adăugat în PHP 5.2.2). Atrageți atenția că date() întotdeauna va genera 000000, deoarece ea primește un parametru integer, iar metoda DateTime::format() susține microsecundele dacă DateTime a fost creată cu microsecunde. | Exemplu: 654321 |
Fusul orar | --- | --- |
e | Identificatorul fusului orar (adăugat în PHP 5.1.0) | Exemple: UTC, GMT, Atlantic/Azores |
I (litera majusculă i) | Determină dacă este activ timpul de vară | 1 dacă este activ timpul de vară, 0 în caz contrar. |
O | Diferența față de ora Greenwich (GMT) în ore | Exemplu: +0200 |
P | Diferența față de ora Greenwich (GMT) cu două puncte între ore și minute (adăugat în PHP 5.1.3) | Exemplu: +02:00 |
T | Abreviatura fusului orar | Exemple: EST, MDT ... |
Z | Deplasamentul în secunde a fusului orar. Deplasamentul fuselor orare dinspre Vest de UTC este întotdeauna negativ, iar a celor dinspre Est de UTC este întotdeauna pozitiv. | De la -43200 până la 50400 |
Data/Ora deplină | --- | --- |
c | Data în reprezentare ISO 8601 (adăugată în PHP 5) | 2004-02-12T15:19:21+00:00 |
r | Data formatată conform » RFC 2822 | Exemplu: Thu, 21 Dec 2000 16:01:07 +0200 |
U | Secunde de la Epoca Unix (1 Ianuarie 1970 00:00:00 GMT) | Vezi de asemenea time() |
Caracterele nerecunoscute din string-ul de formatare vor fi afișate așa cum sunt. Formatul Z întotdeauna va întoarce 0 la utilizarea gmdate().
Notă:
Deoarece această funcție acceptă doar timestamp-uri integer, caracterul de formatare u este util doar când se utilizează funcția date_format() cu timestamp-uri ale utilizatorului create cu date_create().
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()
Versiune | Descriere |
---|---|
5.1.0 | Domeniul valid al unui timestamp este de obicei de la Fri, 13 Dec 1901 20:45:54 GMT până la Tue, 19 Jan 2038 03:14:07 GMT. (Acestea sunt datele ce corespund valorilor minimă și maximă pentru un întreg cu semn pe 32 de biți). Însă înainte de PHP 5.1.0 acest domeniu era limitat de la 01-01-1970 până la 19-01-2038 pe unele sisteme (de ex. Windows). |
5.1.0 | Acum generează erori ale zonei orare de tip
|
5.1.1 |
Există constante utile pentru
formate standarde de date/ore, ce pot fi utilizate pentru a specifica
parametrul format .
|
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.