Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Fier
  • Ora serverului PHP este actuală. Primul script PHP: Afișează data și ora

Ora serverului PHP este actuală. Primul script PHP: Afișează data și ora

Să ne uităm la o parte din codul dintr-o pagină web reală și să creăm primul nostru script php, și anume, să afișăm data și ora curentă pe site-ul nostru. Acest scenariu este folosit pe site-uri destul de des și cred că va fi util multora.

Să creăm un alt fișier php și să-i denumim time.php. am studiat mai devreme, dacă ai uitat să repeți.

Așa că am creat fișierul time.php și am plasat acest fișier în folderul myphp creat anterior la. Am studiat acest subiect în lecție.

Deschideți codul pentru fișierul time.php și între etichete și prescriem următorul cod, Listarea 1:

Listarea 1.

Azi:

Ora curentă

Pornim serverul local, introducem adresa în bara de adrese a browserului http://localhost/myphp/time.phpși apăsați Enter. Și vedem această imagine:

Vă atrag atenția asupra faptului că în acest caz este afișată ora curentă a serverului, acestea. dacă, de exemplu, serverul pe care „locuiește” site-ul tău se află într-o altă țară și ora actuală diferă de ora Moscovei, atunci valoarea oră afișată va diferi și de ora Moscovei.

Să aruncăm o privire la cod Listare 1. Etichete text simplu " Azi" și " Ora curentă„nu sunt procesate de preprocesorul PHP și sunt afișate ca” este. „În locul acestor intrări, puteți scrie orice text, de exemplu, doar Data sau Timp etc.

Și aici este codul php inclus în descriptoriPHP este procesat înainte de a fi transmis browserului.

După cum probabil v-ați dat seama deja de funcția de dată în PHP responsabil pentru afișarea datei și orei... Valorile de afișare a datei și orei sunt date în paranteze. Există o mulțime de astfel de valori în PHP și vom dedica următoarea lecție separată acestei analize și studiului tuturor valorilor posibile.

Declarație Echo - se traduce prin retrage, în acest caz este menit să fie afișat pe ecranul monitorului Datași Timpul serverului.

Același rezultat (afișare în browser) poate fi obținut prin plasarea întregului script în interiorul descriptorilor PHP. Uite Lista 2:

Lista 2.

ecou „Astăzi:”;
data ecou ("j F Y");
ecou „Ora curentă”;
data ecou ("H: i: s");
?>

Toate elementele de text destinate ieșirii trebuie să fie cuprinse între ghilimele. Șirurile de text pot fi incluse atât între ghilimele simple cât și duble, diferența va fi discutată mai târziu. Intrări:

ecou „Astăzi”;

ecou „Astăzi”;

sunt complet echivalente și par la fel.

Caracterul spațiu înainte de ghilimele de închidere este folosit pentru a separa rezultatul funcției de dată de textul din jur. Toate comenzile din PHP sunt întotdeauna separate prin punct și virgulă.

Pentru a afișa Data și Ora pe site, introduceți codul Listarea 1 sau Lista 2 la locul potrivit pe pagina dvs. web. Pentru a oferi inscripțiilor (Data și Ora) un stil general de design al site-ului, puteți utiliza.

P.S. Permiteți-mi să vă reamintesc că fișierul în care plasați inserții PHP trebuie să aibă extensia .php și, în plus, găzduirea pe care „locuiește” site-ul dvs. trebuie să suporte PHP (azi, asta este aproape tot

În sistemele distribuite, timpul joacă un rol deosebit. Din cauza unei ușoare discrepanțe în orele de sistem, un jucător Forex poate pierde mii de dolari.

Data și ora PHP

În sistemele distribuite precum Internetul, timpul joacă un rol deosebit. Din cauza unei ușoare discrepanțe în ceasul sistemului, un jucător de pe piața Forex poate pierde zeci de mii de dolari în câteva minute; sistemul de business intelligence va face o greșeală în prognoză; Serverele NNTP în procesul de sincronizare vor pierde informații importante necesare utilizatorului etc. PHP conține multe funcții pentru lucrul cu data și ora. Cele mai frecvent utilizate sunt:

- returnează timpul absolut curent. Acest număr este egal cu numărul de secunde care au trecut de la miezul nopții 1 ianuarie 1970 (de la începutul erei UNIX).

- citește informații despre dată și oră. Returnează o matrice asociativă care conține informații pentru ora specificată sau pentru ora curentă (în mod implicit). Matricea conține următoarele elemente:

Exemplul 1

Folosind getdate () // a folosit ora curentă foreach ($ d ca $ cheie => $ val) echo " $ cheie = $ val
"
; ecou "


Astăzi: $ d. $ D. $ D "; ?>

Rezultatul 1

secunde = 21 minute = 4 ore = 12 mday = 10 wday = 4 luni = 11 year = 2005 yday = 313 weekday = joi luna = noiembrie 0 = 1131613461 Astăzi: 10.11.2005

- formatarea datei și orei. Argumente: șir de format și timp absolut. Al doilea argument este opțional. Returnează un șir cu data specificată sau curentă în formatul specificat. Șirul de format poate conține următoarele coduri:

A
A Desemnarea inclusă „AM” sau „PM”
d Ziua lunii (01-31)
D Numele prescurtat al zilei săptămânii (trei litere)
F Numele întregii luni
g Ore (format de 12 ore fără zerouri la început)
G Ore (format de 24 de ore fără zerouri la început)
h Ceas (format 12 ore)
H Ceas (format 24 de ore)
i Minute (00-59)
j Ziua lunii fără zerouri de început (1-31)
l Numele complet al zilei săptămânii
L An bisect (0 sau 1)
m Luna (01-12)
M Numele lunii prescurtat (trei litere)
n Luna (1-12)
s Secunde (00-59)
t Numărul de zile dintr-o anumită lună (28 - 31)
U Timp absolut
w
y Anul (două cifre)
Y An (patru cifre)
z Ziua anului (0-365)
Z Compensarea fusului orar în secunde (-43200 la 43200)

Orice altă informație inclusă în șirul de format va fi inserată în șirul returnat. Dacă doriți să adăugați caractere la șirul de format care sunt coduri de format în sine, trebuie să le precedați cu o bară oblică inversă „\”. Caracterele care devin coduri de format atunci când sunt adăugate cu o bară oblică inversă trebuie să fie precedate de două bare oblice. De exemplu, dacă doriți să adăugați „n” la un șir, ați introduce „\\ n” deoarece „\ n” este un caracter newline.

Exemplul 2

Se utilizează data ()

Rezultatul 2

Astăzi: 10.11.05 13:03

- returnează timpul absolut, care poate fi apoi folosit cu funcții Data () getdate ()... Acceptă până la șase argumente întregi în următoarea ordine:

  1. minute
  2. secunde
  3. lună
  4. luni

Exemplul 3

Folosind mktime () \\ t g.i a, l ", mktime (13, 30, 0, 1, 22, 1971)); ?>

Rezultatul 3

- verificarea corectitudinii datei. Argumente: luna, zi, an. Returnează adevărat dacă data este corectă, de ex.

  1. lună - un număr întreg de la 1 la 12;
  2. ziua este un număr întreg care nu depășește numărul total de zile dintr-o anumită lună. În acest caz, anii bisecți sunt tratați corect;
  3. anul este un număr întreg de la 1 la 32767.

Exemplul 4

dacă (! data de verificare ($ luna, 1, $ an)) ($ d = getdate (); $ luna = $ d [lună]; $ an = $ d [an];)

Atenţie! Data poate fi într-un interval valid, dar alte funcții de dată nu vor accepta această valoare. Deci, nu puteți folosi mktime () pentru anii anteriori anului 1902 și ar trebui să fie, de asemenea, utilizat cu moderație pentru anii anteriori anului 1970.

- formarea datei și orei locale. Argumente: șir de format și timp absolut. Al doilea argument este opțional. Returnează un șir cu data specificată sau curentă în formatul specificat. În acest caz, numele lunilor și zilelor săptămânii sunt extrase din localitatea selectată folosind funcția setlocate ()
Șirul de format poate conține următoarele coduri:

% A Numele prescurtat al zilei săptămânii
% A Numele complet al zilei săptămânii
% b Numele lunii prescurtat
% B Numele întregii luni
% c Format de dată și oră preferat
% C Numărul secolului
% d Ziua lunii (1-31)
% D La fel ca % m /% d /% y
% e Luna (1-12)
% h La fel ca % b
% H Ceas (format 24 de ore)
% I Ceas (format 12 ore)
% j Ziua anului (0-365)
% m Luna (1-12)
% M Minute
% n Caracter Newline
% p Notația „Am” sau „pm” este inclusă
% r Ora folosind notația a.m./p.m
% R Ora în format de 24 de ore
% S Secunde (00-59)
% t Caracter tabulator
% T La fel ca % H:% M:% S
% u Numărul zilei săptămânii (1 - luni, 7 - duminică)
% U Numărul săptămânii. Numărătoarea inversă începe din prima duminică a anului
% V ISO 8601: numărul săptămânii 1988. Prima săptămână trebuie să aibă cel puțin patru zile, iar luni este considerată prima zi
% W Numărul săptămânii. Numărătoarea inversă începe din prima zi de luni a anului
% v Numărul zilei săptămânii (0 - duminică, 6 - sâmbătă)
% X Format preferat de dată fără oră
% X Formatul de oră preferat fără dată
% y Anul (două cifre)
% Y An (patru cifre)
% Z Fus orar (nume sau abreviere)
%% Simbolul „%”

Orice altă informație inclusă în șirul de format va fi inserată în șirul returnat.

Exemplul 5

Folosind strftime () % d% B% Y% H:% M
" ); raportare_erori (E_ALL & ~ E_WARNING); setlocale ("LC_ALL", ""); echo strftime ("Azi% A % d% B% Y% X
"
); echo strftime ("% Z
" ) ; ?>

JavaScript este blocat în browserul dvs. Vă rugăm să activați JavaScript pentru ca site-ul să funcționeze!

Reprezentarea datei și orei

În sistemele distribuite precum Internetul, timpul joacă un rol deosebit. Din cauza unei ușoare discrepanțe în ceasul sistemului, un jucător de pe piața Forex poate pierde zeci de mii de dolari în câteva minute; sistemul de business intelligence va face o greșeală în prognoză; Serverele NNTP în procesul de sincronizare vor pierde informații importante necesare utilizatorului etc.

PHP conține multe funcții pentru lucrul cu data și ora. Cele mai frecvent utilizate sunt:

  • timp ()- returnează timpul absolut curent. Acest număr este egal cu numărul de secunde care au trecut de la miezul nopții 1 ianuarie 1970 (de la începutul erei UNIX).
  • getdate ()- citește informații despre dată și oră. Returnează o matrice asociativă care conține informații pentru ora specificată sau pentru ora curentă (în mod implicit). Matricea conține următoarele elemente:

    Exemplul 1

    Folosind getdate () $ val) echo „$ cheie = $ val
    "; ecou"
    Astăzi: $ d. $ D. $ D ";?>

    REZULTAT EXEMPLULUI 1:

    Secunde = 21 minute = 4 ore = 12 mday = 10 wday = 4 luni = 11 year = 2005 yday = 313 weekday = joi luna = noiembrie 0 = 1131613461 Astăzi: 11/10/2005

  • Data ()- formatarea datei și orei. Argumente: șir de format și timp absolut. Al doilea argument este opțional. Returnează un șir cu data specificată sau curentă în formatul specificat. Șirul de format poate conține următoarele coduri:
    A
    ADesemnarea inclusă „AM” sau „PM”
    dZiua lunii (01-31)
    DNumele prescurtat al zilei săptămânii (trei litere)
    FNumele întregii luni
    gOre (format de 12 ore fără zerouri la început)
    GOre (format de 24 de ore fără zerouri la început)
    hCeas (format 12 ore)
    HCeas (format 24 de ore)
    iMinute (00-59)
    jZiua lunii fără zerouri de început (1-31)
    lNumele complet al zilei săptămânii
    LAn bisect (0 sau 1)
    mLuna (01-12)
    MNumele lunii prescurtat (trei litere)
    nLuna (1-12)
    sSecunde (00-59)
    tNumărul de zile dintr-o anumită lună (28 - 31)
    UTimp absolut
    w
    yAnul (două cifre)
    YAn (patru cifre)
    zZiua anului (0-365)
    ZCompensarea fusului orar în secunde (-43200 la 43200)

    Orice altă informație inclusă în șirul de format va fi inserată în șirul returnat. Dacă doriți să adăugați caractere la șirul de format care sunt coduri de format în sine, trebuie să le precedați cu o bară oblică inversă „\”. Caracterele care devin coduri de format atunci când sunt adăugate cu o bară oblică inversă trebuie să fie precedate de două bare oblice. De exemplu, dacă doriți să adăugați „n” la un șir, ați introduce „\\ n” deoarece „\ n” este un caracter newline.

    Exemplul 2

    Se utilizează data ()

    REZULTAT EXEMPLULUI 2:

    Astăzi: 10.11.05 13:03

  • mktime ()- returnează ora absolută, care poate fi apoi utilizată cu funcțiile date () sau getdate (). Acceptă până la șase argumente întregi în următoarea ordine:

    Ceas
    minute
    secunde
    lună
    ziua lunii
    an

    Exemplul 3

    Folosind mktime ()

    REZULTAT EXEMPLULUI 3:

  • data de verificare ()- verificarea corectitudinii datei. Argumente: luna, zi, an. Returnează adevărat dacă data este corectă, de ex.
    lună - un număr întreg de la 1 la 12;
    ziua este un număr întreg care nu depășește numărul total de zile dintr-o anumită lună. În acest caz, anii bisecți sunt tratați corect;
    anul este un număr întreg de la 1 la 32767.

    De exemplu:

    Dacă (! Data de verificare ($ luna, 1, $ an)) ($ d = getdate (); $ luna = $ d; $ an = $ d;)

    Atenţie! Data poate fi într-un interval valid, dar alte funcții de dată nu vor accepta această valoare. Deci, nu puteți folosi mktime () pentru ani înainte de 1902 și ar trebui să îl utilizați cu atenție și pentru ani înainte de 1970.

  • strftime ()- formarea datei și orei locale. Argumente: șir de format și timp absolut. Al doilea argument este opțional. Returnează un șir cu data specificată sau curentă în formatul specificat. În acest caz, numele lunilor și zilelor săptămânii sunt extrase din localitatea selectată folosind funcția Format șir poate conține următoarele coduri:
    % ANumele prescurtat al zilei săptămânii
    % ANumele complet al zilei săptămânii
    % bNumele lunii prescurtat
    % BNumele întregii luni
    % cFormat de dată și oră preferat
    % CNumărul secolului
    % dZiua lunii (1-31)
    % DLa fel ca % m /% d /% y
    % eLuna (1-12)
    % hLa fel ca % b
    % HCeas (format 24 de ore)
    % ICeas (format 12 ore)
    % jZiua anului (0-365)
    % mLuna (1-12)
    % MMinute
    % nCaracter Newline
    % pEste inclusă denumirea „am” sau „pm”.
    % rOra folosind notația a.m./p.m
    % ROra în format de 24 de ore
    % SSecunde (00-59)
    % tCaracter tabulator
    % TLa fel ca % H:% M:% S
    % uNumărul zilei săptămânii (1 - luni, 7 - duminică)
    % UNumărul săptămânii. Numărătoarea inversă începe din prima duminică a anului
    % VISO 8601: numărul săptămânii 1988. Prima săptămână trebuie să aibă cel puțin patru zile, iar luni este considerată prima zi
    % WNumărul săptămânii. Numărătoarea inversă începe din prima zi de luni a anului
    % vNumărul zilei săptămânii (0 - duminică, 6 - sâmbătă)
    % XFormat preferat de dată fără oră
    % XFormatul de oră preferat fără dată
    % yAnul (două cifre)
    % YAn (patru cifre)
    % ZFus orar (nume sau abreviere)
    %% Simbolul „%”

    Orice altă informație inclusă în șirul de format va fi inserată în șirul returnat.

Evident, de foarte multe ori programatorii trebuie lucrați cu data și ora... Cel mai simplu exemplu este data și ora la care mesajul a fost postat pe forum. Și, desigur, astfel de lucruri pot fi realizate PHP, mai ales ca posibilitatile pentru lucrul cu data și ora în PHP asa de mult.

Funcția de bază asociată cu data și ora în PHP, - aceasta este funcția de timp (). care returnează numărul de secunde scurse de atunci miezul nopții 01.01.1970(începutul erei Unix):

timpul ecou ();
?>

Rulând acest script, veți afla câte secunde au trecut de atunci miezul nopții 01.01.1970 până la apel funcții de timp ().în scenariul tău.

Desigur, pe lângă această funcție de bază, care este prezentă în toate limbajele de programare unde puteți lucrați cu data și ora(cel puțin printre cei pe care îi cunosc) există o altă funcție numită getdate ():

$ datetime = getdate ();
foreach ($ datetime ca $ k => $ v)
ecou "$ k - $ v
";
?>

Prin rularea acestui script, veți vedea un set de chei în matrice și valorile lor corespunzătoare (în același timp, ați repetat construcția pentru fiecare). Cred că acum nu vă va fi greu să aflați date legate de data si ora... De exemplu, pentru a afișa ora curentă, trebuie să scrieți următorul cod:

$ datetime = getdate ();
echo $ datetime ["ore"]. ":". $ datetime ["minute"]. ":". $ datetime ["secunde"];
?>

De asemenea, au funcții getdate (). există un parametru opțional care înseamnă numărul de secunde scurse de atunci miezul nopții 01.01.1970... Este făcută astfel încât această funcție să poată returna nu numai ora și data curente, ci, în general, orice:

$ datetime = getdate (152353232);
echo $ datetime [„an”];
?>

Ca rezultat, vei vedea 1974 an.

De asemenea este si data () funcție... Recomand să vă uitați la descrierea acestuia în manual, deoarece această funcție preia un parametru foarte complex care setează formatul de afișare a datei. Există puțin mai mult de 30 de elemente de formatare. Și în exemplul de mai jos, voi da câteva dintre ele și voi privi restul în cartea de referință, deoarece nu trebuie să le memorați, dar este foarte de dorit să vă familiarizați cu ele. Și este imperativ să cunoașteți principiul utilizării lor, iar următorul exemplu este despre acesta:

data ecou ("Astăzi este d.m.Y H: i: s");
?>

Ca rezultat, veți vedea ceva de genul acesta: " Astăzi 15.11.2010 21:44:24". De asemenea, au date () funcții există și un al doilea parametru opțional care se stabilește timestamp-ul, doar acea valoare egală cu numărul de secunde scurse de la miezul nopții 01.01.1970... Un exemplu de utilizare a celui de-al doilea parametru:

data echo („A fost odată d.m.Y H: i: s”, 5393235329);
?>

De asemenea este si funcția gmdate ()., care este un analog complet date () funcții, dar funcția gmdate (). arată ora nu după fusul orar al serverului pe care rulează scriptul, ci după Greenwich... Evident, folosind această funcție, trebuie să salvați toate informațiile despre data și ora pe care utilizatorul le vede, iar la afișare, trebuie să vă adaptați la fusul orar al fiecărui utilizator (ideal, desigur):

echo gmdate ("Acum la Greenwich D M j H: i: s T Y")
?>

Ca rezultat, veți vedea ceva de genul următor: " Luni, 15 noiembrie, 18:52:45 GMT 2010". Desigur, veți avea afișată o dată diferită, dar într-un format similar. De asemenea, vă recomand cu tărie să intrați în director și să vă familiarizați cu alte elemente ale datei și orei din PHP(Am dat doar o treime), din moment ce funcțiile date () și gmdate ().- acesta este cel mai simplu și rapid mod obține data și oraîn aproape orice format.

Printre diversele sarcini de programare, diverse manipulări cu valori de dată și oră sunt destul de comune. Un sistem automat rar, o bază de date se poate descurca fără a stoca informații despre timpul unui anumit proces. Pe lângă cea mai simplă adăugare a unei date într-o înregistrare a bazei de date sau afișarea acestei date, există multe sarcini pentru afișarea acestor date în diferite forme, verificarea dacă ora curentă se potrivește cu un anumit cronometru, calcularea perioadei dintre două date și multe altele .

Pentru confortul de a lucra cu date, fiecare limbaj de programare are propriile tipuri de date speciale pentru stocarea valorilor de dată și oră. Cel mai adesea este o valoare numerică, fie un număr întreg, fie virgulă mobilă.

În PHP, lucrul cu date interferează cel mai adesea cu UNIX TIMESTAMP. Ora este stocată aici ca un număr întreg. Timpul începe de la 1 ianuarie 1970. Prin urmare, de exemplu, data și ora de 12/11/2014 19:40:00 vor fi reprezentate de numărul 1418316000. Această cifră arată câte secunde au trecut de la data zero de 1 ianuarie 1970, numită Era Unix .

Un exemplu de pagină php care oferă capabilități de conversie a datelor este prezentat pe site în secțiunea de programe a programului „Conversia formatului de dată și oră”. Aici puteți forma data dorită în format UNIX TIMESTAMP, precum și aduceți acest format într-o formă standard, care poate fi citită de om.

Obținerea orei și datei curente în PHP

Pentru a obține ora actuală a serverului, utilizați funcția

int time (void)

care va returna doar valoarea în format de marcaj temporal Unix.

timpul ecou (); // afișează ora curentă în format de marcaj temporal Unix

La prima vedere, nu este un format foarte convenabil pentru o persoană, dar, după cum știți, cu cât prezentarea datelor este mai simplă, cu atât procesarea acestor valori de către computer este mai rapidă. În plus, stocarea unui număr într-o bază de date este mult mai economică decât orice format special. De asemenea, PHP funcționează în timp în același mod atât pe platformele Unix, cât și pe Windows, ceea ce face posibilă utilizarea codului pe oricare dintre aceste platforme.

Conversia formatului de dată și oră în PHP

Cel mai simplu mecanism pentru conversia unei valori numerice a datei în valori mai semnificative este oferit de o funcție:

matrice getdate ()

Returnează o matrice asociativă care conține informații despre dată. Dacă parametrul timestamp nu este specificat, vor fi returnate informații despre ora curentă. Această matrice conține următoarele valori:

Matricea rezultată vă permite să afișați valorile în forma dorită:

$ data = 1418372345;
$ date_mas = getdate ($ data);
echo $ date_mas [„mday”]. "." $ date_mas ["lună"]. "." $ date_mas [„an”]; // 12.12.2014


De asemenea, puteți utiliza funcția pentru a converti formatul de dată și oră:

șir de date (șir $ șablon [, int $ unix_timestamp])

Este conceput pentru a obține data actuală a marcajului temporal Unix în formatul necesar. Parametrul șir șablon $ definește formatul de ieșire. Parametrul $ unix_timestamp poate fi folosit pentru a seta valoarea timpului cu care se lucrează. Este opțional, deci dacă nu o specificați, se vor folosi data și ora curente.

Formatul este specificat de următoarele valori:

A„înainte” și „după” amiază: „am” sau „pm”
A„înainte” și „după” amiază cu majuscule: „AM” sau „PM”
dziua lunii din 2 cifre (dacă este mai mică de 10, zero pe primul loc) (de la 01 la 31)
Dziua saptamanii in 3 litere. De exemplu, „Luni” (luni)
jziua lunii, 1-2 cifre fără zerouri inițiale (de la 1 la 31)
Fnumele lunii. De exemplu, „ianuarie”
horă, format de 12 ore (de la 01 la 12)
Horă, format de 24 de ore (de la 00 la 23)
goră, format de 12 ore fără zerouri (de la 1 la 12)
Goră, format de 24 de ore fără zerouri (de la 0 la 23)
iminute (de la 00 la 59)
I (majusculă i)1, dacă ora de vară este în vigoare, în caz contrar 0
L1 dacă anul este un an bisect sau 0 dacă nu este un an bisect
Boră în format de oră pe Internet (ora alternativă a zilei) (de la 000 la 999)
Tfusul orar al computerului. De exemplu MDT
l (L minuscule)zi a săptămânii. De exemplu, „luni”
mlună, două cifre urmate de zerouri (de la 01 la 12)
nlună, una sau două cifre fără zero (de la 1 la 12)
Mnumele prescurtat al lunii. De exemplu, „Ian”
tnumărul de zile din luna specificată (de la 28 la 31)
ssecunde (de la 0 la 59)
SSufixul ordinal în limba engleză al unui număr de două litere ("st", "nd", "rd" sau "th")
Uun număr întreg de secunde de la începutul erei UNIX
yan, numeric, 2 cifre (14)
Yan, numeric, 4 cifre (2014)
znumărul ordinal al unei zile dintr-un an (de la 0 la 365)
Zamestecarea fusului orar în secunde (de la -43200 la 43200)
Nnumărul ordinal al zilei săptămânii de la 1 (luni) la 7 (duminică) în conformitate cu standardul ISO-8601, (adăugat în PHP 5.1.0)
wnumărul secvenţial al zilei săptămânii de la 0 (duminică) la 6 (sâmbătă)
Wnumărul ordinal al săptămânii din an în conformitate cu standardul ISO-8601; săptămâni încep de luni (adăugat în PHP 4.1.0)
onumăr de an conform standardului ISO-8601. Are aceeași semnificație cu Y, cu excepția cazului în care numărul săptămânii ISO (W) este în anul precedent sau în anul următor; atunci se va folosi anul acelei săptămâni. (adăugat în PHP 5.1.0)
ecod de fus orar. De exemplu: UTC, GMT, Atlantic / Azore (adăugat în PHP 5.1.0)
Odiferență față de GMT, în ore. De exemplu: +0200
Pdiferență față de GMT cu două puncte între ore și minute. De exemplu: +02: 00 (adăugat în PHP 5.1.3)
cdata în format ISO 8601. De exemplu, 2014-12-12T15: 19: 21 + 00: 00 (adăugat în PHP 5)
rdata în formatul „RFC 2822. De exemplu: joi, 21 dec 2000 16:01:07 +0200
Unumărul de secunde de la începutul epocii Unix (Epoca Unix, 1 ianuarie 1970 00:00:00 GMT)

După cum puteți vedea din listă, există o mulțime de date utile care pot fi obținute folosind această funcție. De exemplu:

$ data = 1418372345; // data și ora originală 12.12.2014 11:19:05

data ecou ("d.m.Y", $ data); // 12.12.2014 (data)
data ecou ("H: i: s", $ data); // 11:19:05 (ora)
data ecou ("H: i", $ data); // 11:19 (ora)
data ecou ("t", $ data); // 31 (număr de zile dintr-o lună)
data ecou ("z", $ data); // 345 (numărul ordinal al zilei din an)
data ecou ("l dS \ of F Y h: i: s A", $ data); // Vineri, 12 decembrie 2014, ora 11:19:05

Alte caractere incluse în model vor fi afișate pe linie așa cum sunt. Dacă trebuie să introduceți un caracter care este folosit ca cod de format în funcție, un caracter „\” este inserat în fața lor. Pentru valoarea „\ n” (caracter nou linie), specificați „\\ n”. Astfel, puteți desena rezultatul unui mesaj întreg care conține informații despre dată și oră:

data ecou ( „Astăzi este a z-a zi a anului Y”, $ data); // Astăzi este a 345-a zi a anului 2014

Convertiți data și ora în formatul de marcaj de timp

Pentru a converti data înapoi din formatul standard într-o valoare numerică de marcaj temporal, utilizați funcția:

int mktime (]]]]]])

Funcția mktime () returnează valoarea timpului Unix corespunzătoare datei și orei specificate în argumente. De exemplu:

$ data_mea = mktime (10, 30, 0, 12, 12, 2014);

Ar trebui să fiți atenți la ordinea argumentelor funcției: ore, minute, secunde, lună, zi, an.

Pe lângă pur și simplu generarea unei valori a datei într-un marcaj de timp, funcția mktime () poate fi folosită pentru a aritmetica cu date. Pentru a face acest lucru, puteți introduce pur și simplu argumentele necesare. De exemplu, dacă specificați luna 14, atunci în valoarea totală, luna va fi a 2-a, iar valoarea anului va crește cu unu:

$ ziua_mea = 12;
$ luna_mea = 12;
$ anul_meu = 2014;

$ data_nouă = mktime (0, 0, 0, $ luna_mea + 5, $ ziua_mea, $ anul_mea);

data ecou ("d.m.Y", $ data_noua); // 05/12/2015 (data)

Puteți face același lucru cu alți parametri.

Validarea datei PHP

Când lucrați cu date, în special când se formează o dată folosind funcția de mai sus mktime (), este necesar să se țină cont de corectitudinea datei introduse. Pentru a face acest lucru, PHP folosește funcția:

bool data de verificare (int luna, int zi, int an)

Returnează adevărat dacă data dată în argumente este corectă; altfel se întoarce false. Data este considerată corectă dacă:

An în intervalul de la 1 la 32767;

Lună în intervalul de la 1 la 12;

Ziua pentru luna dată, inclusiv anul bisect, este corectă.

Exemplu de verificare a datei:

$ ziua_mea = 32;
$ luna_mea = 12;
$ anul_meu = 2014;

dacă (! data de verificare ($ luna_mea, $ ziua_mea, $ anul_meu))
ecou „Eroare: data specificată incorect”;

Top articole similare