Curs Php-mysql

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 atribut face un buton radio sau checkbox sa fie selectat?
checked="checked" selected="selected" disabled="disabled"
<input type="checkbox" name="a_name" value="value" checked="checked" />
Ce valoare CSS redimensioneaza imaginea de fundal pana la marimea elementului?
repeat-x contain linear-gradient
#id {
  background:url("path_to_image.png");
  background-size:contain;
  background-repeat:no-repeat;
}
Ce operator se foloseste pentru restul impartirii a doua numere?
% * /
var rest8_7 = 8 % 7;
alert(rest8_7);
Indicati functia PHP care rotunjeste numarul la valoarea intreaga mare.
floor() ceil() abs()
$nr = ceil(3.5);
echo $nr;        // 4
Indicati articolul corect la cuvantul "bike" in propozitia: "Alex wants to buy ... bike".
An The A
Alex wants to buy a bike.
- Alex vrea sa cumpere o bicicleta.
Indicati articolul nedefinit corect pentru cuvantul: "libros" (carti)
unos una un
Leí unos libros.
- Am citit niste carti.
Functii pentru Data si Timp

Last accessed pages

  1. Conditional IF in Limba Engleza - Fraze Conditionale (122559)
  2. Viitor simplu - Exercitii si teste incepatori (12044)
  3. Trecut perfect si Trecutul perfect continuu - Past perfect and Continuous (57512)
  4. Pronume direct (2314)
  5. Caractere speciale - Entitati HTML (13712)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (99)
  2. Exercitii engleza - English Tests and exercises - Grammar (56)
  3. Prezentul simplu - Exercitii si teste incepatori (47)
  4. Cursuri limba engleza gratuite si lectii online (45)
  5. Gramatica limbii engleze - Prezentare Generala (40)