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 tag adauga imagine in pagina web?
<div> <img> <span>
<img src="http://coursesweb.net/imgs/webcourses.gif" width="191" height="63" alt="Courses-Web" />
Care din aceste coduri CSS afiseaza textul inclinat?
font-style: italic; text-decoration: underline; font-weight: 500;
#id {
  font-style: italic;
}
Clic pe functia jQuery care ascunde animat un element HTML.
click() hide() show()
$(document).ready(function() {
  $(".a_class").click(function(){ $(this).hide("slow"); });
});
Clic pe functia definita corect in PHP.
fname function() {} function fname() {} function $fname() {};
function fname($a, $b) {
  echo $a * $b;
}
Indicati forma pentru Prezent Perfect Continuu a verbului "to walk" (a merge).
have walked have been walking be walking
I have been walking for 5 hours.
- Merg pe jos de 5 ore.
Indicati Trecutul Nedefinit pentru verbul "ser" (a fi) la forma Yo.
será sería fui
Yo fui entrenador.
- Am fost antrenor.
Functii pentru Data si Timp

Last accessed pages

  1. Coduri pt culori (72736)
  2. Formatare text in pagina html (38196)
  3. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (276315)
  4. Verbe neregulate (5552)
  5. Verbele in limba engleza - Verbs (41403)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1228)
  2. Coduri pt culori (878)
  3. Curs HTML gratuit Tutoriale HTML5 (732)
  4. Cursuri limba engleza gratuite si lectii online (393)
  5. Gramatica limbii spaniole. Indrumator si prezentare generala (358)