Data si Timpul in PHP

PHP are mai multe functii pentru lucru cu Data zilei si Timpul /Ora. Cele mai utilizate sunt acestea:

- Aceste functii permit sa preiei data si timpul de la server in script-ul PHP; ele depind de setarile locale ale serverului.

PHP date()

Functia PHP date() e utilizata pt. formatarea Timestamp in data /timp.
  - Sintaxa:
date("format", timestamp)
- format   - Un sir format din caractere ce reprezinta data returnata. Ex.:   "D, d M Y H:i:s" rezulta => "Mon, 15 Aug 2012 15:42:01 +0000"
- timestamp   - numarul de secunde de la 1-01-1970 pana la o anumita data. Este optional, daca nu e specificat se foloseste Timestamp-ul curent.
Aceasta functie returneaza un sir cu formatul datei, sau False in caz de eroare.

• O lista cu mai multe functii si exemple de lucru cu data si timpul la pagina: Functii pentru Data si Timp.

- Exemplu, preia data curenta, Zi-Luna-An:
$today = date('d-m-Y');
echo $today;
In mod standard, functia date() foloseste timpul zonal al serverului. Ca sa setati un alt timp zonal, utilizati functia date_default_timezone_set('timezone_identifier'), adaugata inainte de alte functii pt data si timp.
Parametrul "timezone_identifier" e un sir cu identificatorul zonei de timp (ex.: 'America/New_York' sau 'Europe/Bucharest'). Lista completa de timpuri zonale pt PHP e la pagina: Lista zone de timp pt PHP.
  - Exemplu:
<?php
date_default_timezone_set('Europe/Bucharest');         // seteaza timpul zonal pt Romania (Bucuresti)

// returneaza ziua curenta din saptamana
echo date('l');

// returneaza data zilei curente (zi-luna-an)
echo '<br />'. date('j-F-Y');

// returneaza Ora:minute:secunde a timpului curent
echo '<br />'. date('H:i:s');
?>
Rezultat:
Sunday
28-October-2012
07:55:18

In acest exemplu nu e specificat un timestamp, astfel, functia date() lucreaza cu timpul actual, zona Romania /Bucuresti.

Ca sa obtineti timpul Unix /Timestamp-ul curent (numarul de secunde), se utilizeaza functia time() (ex.:   $ts = time(); ).


Alte exemple cu functii pentru Data si Timp

Ca sa lucrati cu Timestamp-ul unei anumite date specifice, utilizati functia mktime().
  - Sintaxa:
mktime(ore, minute, secunde, luna, zi, an)
Returneaza timpul Unix corespunzator argumentului.

Se poate utiliza si functia strtotime(). Returneaza timpul Unix a sirului din parametru cu data textuala in limba engleza.
  - Sintaxa:
strtotime("timpul")
- Parametrul "timpul" e un sir /text cu data in limba engleza (ex.:   "now", "+1 Day", "15 October 2012", "next Sunday", etc.).
O lista cu formate valabile e la pagina Formate Data si Timp.

  Exemplu cu mktime() ai strtotime():
<?php
// preia Timestamp-ul datei October 15, 1976, 20:38:00 (cu mktime)
// returneaza Timestamp-ul si ziua din saptamana a acestei date
$stamp = mktime(20, 38, 0, 10, 15, 1976);
echo 'Timestamp: '. $stamp;
echo '<br /> October 15, 1976 este '. date('l', $stamp);

// Exemplu cu strtotime()
echo '<br /><br />Exemplu cu strtotime():<br />';

echo '<br /> 15 October 1976, 20:38:00 - '. strtotime('15 October 1976, 20:38:00');

// Alte exemple
echo '<br /> 07 July 1996 - '. strtotime('07 July 1996');
echo '<br /> +3 days - '. strtotime('+3 days');
echo '<br /> +1 one week - '. strtotime('+1 week');
echo '<br /> +1 week 2 days 3 hours 30 seconds - '. strtotime('+1 week 2 days 3 hours 30 seconds');
echo '<br /> next Sunday - '. strtotime('next Sunday');
?>
Acest cod va afisa:
Timestamp: 214252680
October 15, 1976 este Friday

Exemplu cu strtotime():

15 October 1976, 20:38:00 - 214252680
07 July 1996 - 836686800
+3 days - 1300950386
+1 one week - 1301292386
+1 week 2 days 3 hours 30 seconds - 1301476016
next Sunday - 1301176800

Ziua 0 dintr-o luna reprezinta ultima zi din luna precedenta.
De exemplu, ziua 0 din Martie 2012 este "29", ultima zi din Februarie 2012:
                echo date('d', mktime(0, 0, 0, 03, 0, 2012));             // 29


• O alta functie utila pt data si timp e getdate()
  - Sintaxa:
getdate(timestamp)
- timestamp   - E optional, un numar intreg cu timpul Unix. Daca nu e specificat, foloseste timestamp-ul curent.
getdate() returneaza un array asociativ cu informatii despre data si timpul din "timestamp", sau cel curent daca nu e specificat.
  - Exemplu:
<?php
$now = getdate();
echo '<pre>';
var_export($now);
echo '</pre>';
?>
Acest cod va afisa un array similar cu acesta:
array (
  'seconds' => 48,
  'minutes' => 30,
  'hours' => 9,
  'mday' => 21,
  'wday' => 1,
  'mon' => 3,
  'year' => 2011,
  'yday' => 79,
  'weekday' => 'Monday',
  'month' => 'March',
  0 => 1300692648,
)

- Exemplu cu microtime() (returneaza timpul Unix /timestamp curent in microsecunde). E util, de exemplu in a afla timpul de executie a unui cod PHP.
  - Cod:
<?php
$load_time = -microtime(true);

// instructiuni php

$load_time += microtime(true);

echo $load_time. ' seconds';
?>
Variabile si referinte in ... <<-- Anterior --- Urmator -->> Lucru cu siruri 1

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.
Data si Timpul - Tutorial PHP