Data si Timpul

Stefanescu Mihai 2 years ago PHP

Datele sunt lucruri cu care lucram in fiecare zi incat ni se pare foarte usor, iar PHP-ul vine cu cateva instrumente care ne ajuta foarte mult la manipularea datelor.

Time Stamp si functia time():

Functia time() din PHP ne ofera data si timpul curente. Nu necesita niciun argument si returneaza un integer.

Numarul intreg returnat de aceasta functie reprezinta numarul de secunde trecute din 1 Ianuarie 1970.

<?php
echo time();
?>

Ne va da urmatorul rezultat:

1420804132

Acest tip de informatie este greu de inteles, dar PHP-ul ne ofera cateva unelte foarte bune de convertit timestamp-ul intr-un format usor de inteles.

Convertirea Time Stamp-ului cu getdate():

Functia getdate() accepta un parametru (time stamp-ul) si returneaza un array asociativ ce contine informatii despre data. Daca nu-i dai nici-un parametru va returna data curenta.

In urmatorul tabel sunt informatiile oferite de getdate() in acel array asociativ:

Cheie Descriere Exemplu
seconds Secunde trecute(0-59) 45
minutes Minute trecute(0-59) 27
hours Ora(0-23) 18
mday Ziua din luna(1-31) 7
wday Ziua din saptamana(0-6) 3
mon Luna din an (1-12) 9
year Anul 2007
yday Ziua din an(0-356) 249
weekday Ziua din saptamana Friday
 month Luna din an April
 0  timestamp 1420804132

Acum, ai control complet asupra datei si a timpului. Puteti formata data in orice format va doriti:

<?php
$date_array = getdate();
foreach ( $date_array as $key => $val ){
   echo "$key = $val<br />";
}

$data  = "Data de azi: ";
$data .= $date_array[mday] . "/";
$data .= $date_array[mon] . "/";
$data .= $date_array[year];

print $data;
?>

Rezultatul:

seconds = 27
minutes = 25
hours = 11
mday = 12
wday = 6
mon = 5
year = 2007
yday = 131
weekday = Saturday
month = May
0 = 1178994327
Data de azi: 12/5/2007

Convertiere Time Stamp cu date():

Functia date() returneaza un string cu data formatata intr-un anumit mod. Cu aceasta functie aveti control total asupra formatului datei.

date(format, timestamp);

Puteti folosi functia date() fara a mai da un timestamp si aceasta va folosi timestamp-ul curent. Orice alt caracter pasat in informatiile de formatare va fi inclus in valoarea returnata.

Urmatorul tabel contine toate informatiile necesare la formatare:

Format Descriere Exemplu
a ‘am’ sau ‘pm’ in litere mici pm
A ‘AM’ sau ‘PM’ in litere mari PM
d Ziua din luna, numar fara 0 in fata 15
D Ziua saptamanii (3 litere) Thu
F Numele lunii January
h Ora (Format de 12 ore cu 0 in fata) 12
H Ora (Format de 24 ore cu 0 in fata) 22
g Ora (Format de 12 ore – fara 0 in fata) 12
G Ora (Format de 24 ore – fara 0 in fata) 22
i Minute (0-59) 23
j Ziua din luna(fara 0 in fata) 20
l (L mic) Ziua din saptamana. Thursday
L An bisect 1 sau 0
m  Luna din an (numar cu zero in fata) 04
M Luna din an (3 litere) Jan
r Data in format FC 2822  Thu, 21 Dec 2007 18:07:09 +0200
n Luna din an(numar fara 0 in fata)  4
s Secunda 34
U timestamp  1420806736
y An 02
Y An 2007
z  Ziua din an (0-356) 314

Exemplu:

<?php
print date("m/d/y G.i:s<br>", time());
print "Azi este ";
print date("j of F Y, \a\\t g.i a", time());
?>

Rezultatul:

01/20/00 13.27:55
Azi este 20 of January 2000, at 1.27 pm

 

Programator de ~8 ani, am lucrat la proiecte din mai multe industrstrii, de la eCommerce la telecomunicatii la automatizari. In acest timp am folosi diferite tehnologii, de la PHP, MySQL, PostgreSql, RabbitMq, Redis, Memcached si altele.


Get in touch
Pentru nelamuriri, dubii, comentarii si chestii de pe suflet ne putem auzi pe Discord, Reddit sau poti deschide o discutie noua pe forum

Club-ul este dedicat membrilor si ofera access la mai multe zone ale website-ului.
Login Register

🔖 Bookmarks
âœĻ Pentru a sustine aceasta comunitate am sa te rog sa te autentifici sau sa te inregistrezi!

🌊ïļ Discord
Back to top
Folosim cookie-uri pentru a oferi functionalitatile critice ale aplicatiei Invata-Programare. Folosim cookie-uri si pentru a analiza traficul, pentru care e nevoie de consimtamantul dvs. explicit.