Aici sunt cateva din cele mai utile functii PHP pentru lucrul cu Data si formate de Timp.


Caractere folosite pentru formatul datei


1.   checkdate(nr_luna, nr_zi, nr_an)

- Verifică validitatea datei formate din argumenții din paranteza. O dată este considerată validă dacă fiecare parametru este definit corespunzător. "nr_luna" este numarul lunii, intre 1 și 12 inclusiv, "nr_zi" este numarul zilei cuprinse în domeniul zilelor permise pentru luna respectivă. Anii bisecți sunt luați în considerare, "nr_an" este anul intre 1 și 32767 inclusiv. Returneaza TRUE sau FALSE.

<?php
var_dump(checkdate(7, 7, 1996));         // bool(true)
var_dump(checkdate(2, 29, 2001));         // bool(false)
?>

2.   date_create('sir_data')

- Stil obiect-orientat: DateTime::__construct('sir_data')
Creaza o instanta de timp dupa data din "sir_data", ce poate fi folosit in alte functii pt. data si timp care necesita ca parametru o instanta de timp. In caz de esec returneaza FALSE.

<?php
// Stil obiect-orientat
$date = new DateTime('2008-01-01');
echo $date->format('d-m-Y');         // 01-01-2008

// Stil procedural
$date = date_create('2008-01-01');
echo date_format($date, 'd-m-Y');         // 01-01-2008
?>

3.   date_format(obj_date, 'data_form')

- Stil obiect-orientat: DateTime::format('data_form')
Returneaza data comform formatului din "data_form". "obj_date" e o instanta de timp returnata de functia "date_create()". In caz de esec returneaza FALSE.

<?php
// Stil obiect-orientat
$date = new DateTime('2008-01-01');
echo $date->format('Y-m-d H:i:s');         // 2008-01-01 00:00:00

// Stil procedural
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');         // 2008-01-01 00:00:00
?>

4.   date_create_from_format('data_form', 'sir_data')

- Stil obiect-orientat: DateTime::createFromFormat(data_form, sir_data)
Creaza o instanta de timp a datei din "sir_data" care e recunoscuta si trebuie sa corespunda cu formatul de data din "data_form". Instanta obtinuta poate fi folosita pentru a afisa data din "sir_data" cu un alt format, cu functia "date_format()". In caz de esec returneaza FALSE.

<?php
// Stil obiect-orientat
$date = DateTime::createFromFormat('j-M-Y', '18-Feb-2009');
echo $date->format('Y-m-d');         // 2009-02-18

// Stil procedural
$date = date_create_from_format('j-M-Y', '18-Feb-2009');
echo date_format($date, 'Y-m-d');         // 2009-02-18
?>

5.   date_date_set(obj_date_create, nr_an, nr_luna, nr_zi)

- Stil obiect-orientat: DateTime::setDate(nr_an, nr_luna, nr_zi)
Seteaza o instanta de timp, dupa parametri primiti, care apoi poate fi afisata intr-un format de data, cu functia "date_format()". In caz de esec returneaza FALSE.

<?php
// Stil obiect-orientat
$date = new DateTime();
$date->setDate(2001, 2, 3);
echo $date->format('Y-m-d');         // 2001-02-03

// Stil procedural
$date = date_create();
date_date_set($date, 2001, 2, 3);
echo date_format($date, 'Y-m-d');         // 2001-02-03
?>

6.   date_default_timezone_set('zona_timp')

- Seteaza timpul folosit in script dupa zona specificata in "zona_timp", identificator din Lista zonelor orare susținute. Returneaza TRUE sau FALSE.

<?php
$timp = 1234567890;
echo date('d-m-Y, H:i', $timp);         // 13-02-2009, 23:31

// Acum seteaza pt. zona Romaniei
date_default_timezone_set('Europe/Bucharest');
echo date('d-m-Y, H:i', $timp);         // 14-02-2009, 01:31
?>

7.   date_diff(obj_date1, obj_date2)

- Stil obiect-orientat: DateTime::diff(obj_date2)
Returneaza un obiect cu diferenta dintre doua instante de timp sau FALSE.

<?php
// Stil obiect-orientat
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%d zile');         // +2 zile

// Stil procedural
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%d zile');         // +2 zile
?>

8.   date_modify(obj_date, 'sir_modificare'

- Stil obiect-orientat: DateTime::modify(sir_modificare)
Modifica instanta de timp din "obj_date" cu valoarea specificata in "sir_modificare", sau FALSE in caz de esec.

<?php
// Stil obiect-orientat
$date = new DateTime('2008-12-12');
$date->modify('+1 day');
echo $date->format('Y-m-d');         // 2008-12-13

// Stil procedural
$date = date_create('2008-12-12');
date_modify($date, '+1 day');
echo date_format($date, 'Y-m-d');         // 2008-12-13
?> ?>

9.   date_parse_from_format('data_form', 'sir_data')

- Returneaza un Array asociativ cu informatii detaliate despre data din "sir_data", aceasta trebuind sa aibe formatul din "data_form".

<?php
$date = '7.07.1996 15:00';
echo '<pre>';
print_r(date_parse_from_format('j.m.Y H:i', $date));
echo '</pre>';

/* Va afisa
Array
(
[year] => 1996
[month] => 7
[day] => 7
[hour] => 15
[minute] => 0
[second] => 0
[fraction] => 
[warning_count] => 0
[warnings] => Array
(
)

[error_count] => 0
[errors] => Array
(
)

[is_localtime] => 
)
*/
?>

10.   date_parse('sir_data')

- Returneaza un Array asociativ cu informatii detaliate despre data din "sir_data" (care sa fie intr-un format acceptat de "strtotime()").

<?php
$date = '7.07.1996 15:00';
echo '<pre>';
print_r(date_parse($date));
echo '</pre>';

/* Va afisa:
Array
(
[year] => 1996
[month] => 7
[day] => 7
[hour] => 15
[minute] => 0
[second] => 0
[fraction] => 0
[warning_count] => 0
[warnings] => Array
(
)

[error_count] => 0
[errors] => Array
(
)

[is_localtime] => 
)
*/
?>

11.   date_sun_info(timp_UNIX, Latitudine, Longitudine)

- Returneaza un Array asociativ cu informatii despre rasaritul si apusul soarelui, sfarsitul si inceputul crepusculului din ziua ce se gaseste in timpul UNIX din parametrul "timp_UNIX", din zona data de parametri "Latitudine" si "Longitudine", in grade.

<?php
$sun_info = date_sun_info(strtotime('1996-07-07'), 45.28, 27.97);
foreach ($sun_info as $key => $val) {
    echo "$key: " . date("H:i:s", $val). '<br />';
}

/* Va afisa:
sunrise: 02:28:35
sunset: 17:57:39
transit: 10:13:07
civil_twilight_begin: 01:51:44
civil_twilight_end: 18:34:31
nautical_twilight_begin: 01:03:02
nautical_twilight_end: 19:23:13
astronomical_twilight_begin: 00:00:05
astronomical_twilight_end: 20:26:09
*/
?>

12.   date_time_set(obj_date, nr_ora, nr_minut, nr_secunde)

- Stil obiect-orientat: DateTime::setTime(nr_ora, nr_minut, nr_secunde)
Reseteaza instanta de timp (din "obj_date"), definindu-i si ora, minutul, si optional secndele, specificate in ceilalti parametri. In caz de esec, FALSE..

<?php
// Stil obiect-orientat
$date = new DateTime('2008-01-01');
$date->setTime(14, 45);
echo $date->format('Y-m-d H:i:s');         // 2008-01-01 14:45:00

// Stil procedural
$date = date_create('2008-01-01');
date_time_set($date, 14, 45);
echo date_format($date, 'Y-m-d H:i:s');         // 2008-01-01 14:45:00
?>

13.   date_timestamp_get(obj_date)

- Stil obiect-orientat: DateTime::getTimestamp()
Obtine timpul UNIX din instanta de timp "obj_date".

<?php
// Stil obiect-orientat
$date = new DateTime();
echo $date->getTimestamp();         // 1280582771

// Stil procedural
$date = date_create();
echo date_timestamp_get($date);         // 1280582771
?>

14.   date_timestamp_set(obj_date, timp_UNIX)

- Stil obiect-orientat: DateTime::setTimestamp(timp_UNIX)
Modifica instanta de timp "obj_date" cu timpul UNIX din "timp_UNIX".

<?php
// Stil obiect-orientat
$date = new DateTime();
echo $date->format('U = Y-m-d H:i:s');         // 1272508903 = 2010-04-28 22:41:43

$date->setTimestamp(1171502725);
echo $date->format('U = Y-m-d H:i:s');         // 1171502725 = 2007-02-14 20:25:25

// Stil procedural
$date = date_create();
echo date_format($date, 'U = Y-m-d H:i:s');         // 1272508903 = 2010-04-28 22:41:43
date_timestamp_set($date, 1171502725);
echo date_format($date, 'U = Y-m-d H:i:s');         // 1171502725 = 2007-02-14 20:25:25
?>

15.   date('data_form', timp_UNIX)

- Returneaza un sir cu data, avand formatul din "data_form", al timpului UNIX din parametru "timp_UNIX". Daca "timp_UNIX" nu e mentionat, va returna data curenta.

<?php
echo date('d');         // 31
echo date('d', 123457890);         // 29
echo date('F j, Y, g:i a');         // July 31, 2010, 1:44 pm
echo date('F j, Y, g:i a', 123457890);         // November 29, 1973, 9:51 pm
?>

16.   getdate(timp_UNIX)

- Returneaza un Array asociativ conținând informația despre dată și oră a parametrului "timp_UNIX", sau a datei/orei curente dacă parametrul "timp_UNIX" nu este furnizat.

<?php
$today = getdate();
echo '<pre>';
print_r($today);
echo '</pre>';

/* Va afisa ceva similar cu:
Array
(
[seconds] => 7
[minutes] => 52
[hours] => 13
[mday] => 31
[wday] => 6
[mon] => 7
[year] => 2010
[yday] => 211
[weekday] => Saturday
[month] => July
[0] => 1280584327
)
*/
?>

17.   localtime(timp_UNIX, bool)

- Returneaza un Array cu informatii despre ora locala (a serverului) la timpul specificat in parametrul "timp_UNIX" (sau timpul curent, daca acesta nu e adaugat).
"bool" poate fi true sau false, si e optional. Daca e specificat true, va returna un Array asociativ, in rest, un Array secvential.

<?php
echo '<pre>';
print_r(localtime(time(), true));
echo '</pre>';

/* Va returna ceva similar cu:
Array
(
[tm_sec] => 29             // - secunde
[tm_min] => 7              // - minute
[tm_hour] => 15            // - ora
[tm_mday] => 31            // - ziua din luna
[tm_mon] => 6              // - luna din an, începând cu 0 pentru Ianuarie
[tm_year] => 110           // - Numărul de ani de la 1900
[tm_wday] => 6             // - Numarul zilei din saptamana
[tm_yday] => 211           // - Ziua din an
[tm_isdst] => 0            // - Dacă timpul de vară este în vigoare
)
*/
?>

18.   microtime(bool)

- Returneaza timpul curent Unix cu microsecunde. Dacă parametrul opțional "bool" este stabilit în TRUE, atunci este returnata o valoare Float (cu virgula, în secunde), altfel, returneaza sirul "msec. sec.", unde 'sec.' este timpul curent măsurat în numărul de secunde de la Epoca Unix (0:00:00 January 1, 1970 GMT) și 'msec.' este partea cu microsecunde.

<?php
echo microtime();         // 0.62055800 1280589862
echo microtime(true);         // 1280589862.6624
?>

19.   mktime(ora, minut, secunde, luna, zi, an)

- Obtine timpul Unix al argumentelor furnizate, care sunt numere intregi ce reprezinta: "ora", "minutul", "secundele", "luna", "ziua" si "anul" din data ce o formeaza. Dacă argumentele nu sunt valide, funcția întoarce FALSE.

<?php
echo mktime(14, 48, 30, 7, 7, 1996);         // 836750910
echo '7 Iulie 1996 este intr-o zi de '. date('l', mktime(14, 48, 30, 7, 7, 1996));         // 7 Iulie 1996 este intr-o zi de Sunday
echo date('c', mktime(14, 48, 30, 7, 7, 1996));         // 1996-07-07T14:48:30+00:00
?>

20.   strtotime('data_form')

- Returneaza timpul UNIX a aproape oricarei descrieri textuale în limba engleză a datei și orei specificate in sirul "data_form".
Dacă anul este specificat cu două cifre, valorile între 00-69 sunt interpretate ca 2000-2069, iar valorile între 70-99 ca 1970-1999.

<?php
echo strtotime('now');
echo '<br />'. strtotime('08 September 2008');
echo '<br />'. strtotime('+1 day');
echo '<br />'. strtotime('+1 week');
echo '<br />'. strtotime('+1 week 2 days 4 hours 2 seconds');
echo '<br />'. strtotime('next Thursday');
echo '<br />'. strtotime('last Monday');
?>

21.   time()

- Returneaza timpul curent, in format UNIX, si anume numarul de secunde de la 1 Ianuarie 1970 ora 0 (1 Ianuarie 1970 00:00:00 GMT). Numarul returnat poate fi folosit cu functia "date()" pentru a obtine data intr-un format cunoscut sau parti din data (ziua, ora, luna, etc.).

<?php
echo time();         // Timpul UNIX curent
$nextWeek = time() + (7 * 24 * 60 * 60);         // Timpul UNIX curent + 7 zile; 24 ore; 60 minute; 60 secunde
echo 'Săptămâna următoare: '. date('d-m-Y', $nextWeek);
?>


- Lista completa cu functiile PHP pentru lucru cu Data si Timp o gasiti la pagina Functii pentru Data si Timp

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tip de <input> creaza o paleta de culori pentru selectare culoare?
type="text" type="color" type="date"
<input type="color" name="get_color" />
Care metoda CSS roteste elementul HTML la un anumit numar de grade?
scale() translate() rotate()
#some_id:hover {
  transform: rotate(60deg);
  -ms-transform: rotate(60deg);    /* IE 9 */
  -moz-transform: rotate(60deg);   /* Firefox */
}
Click pe functia care returneaza numarul cel mai mare.
pow() min() max()
var maxn = Math.max(8, 4, 88, 56);
alert(maxn);      // 88
Ce functie previne ca un fisier sa fie inclus mai mult de o data intr-o pagina?
include() include_once() require()
include_once("un_fisier.php");
Care este traducerea corecta pentru: "Ahead of time"?
Peste timp La timp Inainte de vreme
Most people arrived ahead of time.
- Cei mai multi oameni au sosit inainte de vreme (prea devreme).
Indicati traducerea corecta a cuvantului "buenísimo"
mai bun mai putin bun extrem de bun
Este fruto es buenísimo.
- Acest fruct este extrem /nemaipomenit de bun.
Functii pentru Data si Timp

Last accessed pages

  1. Sufixele -ful, -less si -ness - ful, less and ness suffixes (6612)
  2. Curs PHP MySQL, Tutoriale si Scripturi PHP (14202)
  3. Viitor simplu si continuu - Future Tense Simple and Continuous (22636)
  4. Curs si Tutoriale JavaScript (15184)
  5. Conditional IF - Exercitii si teste engleza incepatori (7829)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (2215)
  2. Curs HTML gratuit Tutoriale HTML5 (1594)
  3. Curs si Tutoriale JavaScript (1571)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (1525)
  5. Curs CSS Online Tutoriale CSS3 (1401)