Data si Timpul

postat acum 2 ani de Stefanescu Mihai in categorie 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

 

Sunt un tanar programator din Bucuresti ce lucreaza in PHP/Mysql (MySqli/PDO), Laravel, CodeIgniter, MySQL, PostgreSQL, Wordpress, HTML5/CSS3, Sass, Photoshop si multe altele.
Google+ Community Facebook Group
Acest articol a fost mutat de pe vechea platforma.
Pentru orice eroare aparuta la mutare va rog sa ma contactati!