Funcția PHP Data() & Time: Cum să obțineți marcajul temporal actual?

⚡ Rezumat inteligent

Funcția PHP date() formatează timestamp-urile în date și ore lizibile de către om. Acest ghid explică sintaxa datei, timestamp-ul Unix, cum se listează și setează fusurile orare, funcția mktime pentru construirea timestamp-urilor și o referință completă a caracterelor de format oră, zi, lună și an.

  • 📅 Ce dată() face: Funcția date transformă o amprentă temporală într-un șir formatat folosind caractere precum Y, m și d pentru an, lună și zi.
  • ⏱️ Marcaj temporal Unix: O amprentă temporală este numărul de secunde de la 1 ianuarie 1970 GMT, iar time() returnează valoarea curentă.
  • ???? Fusuri orare: date_default_timezone_set modifică fusul orar activ, iar DateTimeZone::listIdentifiers listează toate zonele acceptate.
  • 🔧 mktime: Funcția mktime construiește o marcă temporală pornind de la o oră, un minut, o secundă, o lună, o zi și un an specific.
  • 🔤 Formatare caractere: Litere individuale controlează ieșirea, de exemplu H pentru formatul de 24 de ore, l pentru numele zilei săptămânii și F pentru numele lunii.
  • 📐 Tabele de referință: Tabelele grupate listează caracterele de format pentru oră, zi, lună și an, cu un exemplu rulabil pentru fiecare.
  • 🤖 Asistență AI: Instrumentele de inteligență artificială pot genera formatare a datei și cod de diferență și pot ajuta la rezolvarea erorilor confuze legate de fusul orar.

Funcția PHP date().

Funcția PHP date().

Funcția PHP date este o funcție încorporată care simplifică lucrul cu tipurile de date de tip „date”. Funcția PHP date este utilizată pentru a formata o dată sau o oră într-un format lizibil de către om. Poate fi utilizată pentru a afișa data publicării unui articol sau pentru a înregistra ultima actualizare a datelor dintr-o bază de date.

Sintaxă și exemplu de date PHP

Funcția PHP date() are următoarea sintaxă de bază.

<?php
date(format,[timestamp]);
?>

AICI,

  • „date(…)” este funcția care returnează marcajul temporal curent formatat în PHP pe server.
  • „format” este formatul general pe care dorim să îl avem ca rezultat, de exemplu:
    • „Ymd” pentru formatul de dată PHP AAAA-LL-ZZ
    • „Y” pentru a afișa anul curent
  • „[timestamp]” este opțional. Dacă nu a fost furnizat niciun timestamp, PHP va folosi data și ora curente de pe server.

Să luăm un exemplu simplu care afișează anul curent.

<?php

echo date("Y");

?>

ieșire:

2026

Ce este un marcaj de timp?

O marcă temporală în PHP este o valoare numerică în secunde între momentul curent și valoarea de la 1.st Ianuarie 1970 00:00:00 Ora meridianului Greenwich (GMT).

Valoarea returnată de funcția de timp depinde de fusul orar implicit.

Fusul orar implicit este setat în fișierul php.ini. De asemenea, poate fi setat programatic folosind funcția date_default_timezone_set.

Codul de mai jos afișează marcajul temporal curent.

<?php

echo time();

?>

Presupunând că ați salvat fișierul timestamp.php în folderul phptuts, navigați la URL http://localhost/phptuts/timestamp.php

TimeStamp

Notă: valoarea marcajului temporal nu este o constantă. Se schimbă în fiecare secundă.

Obținerea unei liste cu identificatorii de fus orar disponibili

Înainte de a analiza cum se setează programatic fusul orar implicit, haideți să vedem cum se obține o listă de fusuri orare acceptate.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

AICI,

  • „$timezone_identifiers = DateTimeZone::listIdentifiers();” apelează metoda statică listIdentifiers a clasei încorporate DateTimeZone. Metoda listIdentifiers returnează o listă de identificatori care sunt atribuiți variabilei $timezone_identifiers.
  • „foreach{…}” iterează prin matrice și afișează valorile.

Presupunând că ați salvat fișierul list_time_zones.php în folderul phptuts, navigați la URL http://localhost/phptuts/list_time_zones.php

Identificatori de fus orar

PHP a setat fusul orar prin program

Funcția date_default_timezone_set vă permite să setați fusul orar implicit dintr-un script PHP.

Fusul orar setat va fi apoi utilizat de toate datele. Funcții PHP în scripturile tale. Are următoarea sintaxă.

<?php
date_default_timezone_set(string $timezone_identifier);
?>

AICI,

  • „date_default_timezone_set()” este funcția care setează fusul orar implicit
  • „string $timezone_identifier” este identificatorul fusului orar

Scriptul de mai jos afișează ora conform fusului orar implicit setat în php.ini. Apoi schimbă fusul orar implicit în Asia/Calcutta și afișează din nou ora.

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

Presupunând că ați salvat fișierul set_time_zone.php în folderul phptuts, navigați la URL http://localhost/phptuts/set_time_zone.php

PHP a setat fusul orar prin program

Funcția PHP Mktime

Funcția mktime returnează marcajul de timp în a Unix format.

Are următoarea sintaxă.

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

AICI,

  • „mktime(…)” este funcția make PHP timestamp
  • „Ora” este opțională; este numărul orei
  • „Minut” este opțional; este numărul de minute
  • „secundă” este opțional; este numărul de secunde
  • „luna” este opțional; este numărul lunii
  • „ziua” este opțional; este numărul zilei
  • „anul” este opțional; este numărul anului
  • „is_dst” este opțional; este folosit pentru a determina ora de vară (DST). 1 este pentru DST, 0 dacă nu este și -1 dacă este necunoscută.

Să analizăm acum un exemplu care creează o marcă temporală pentru data de 13/10/2025 folosind funcția mktime.

<?php

echo mktime(0,0,0,10,13,2025);

?>

AICI,

  • „0,0,0” reprezintă ora, minutul și respectiv secundele.
  • „10” este luna anului
  • „13” este ziua lunii
  • „2025” este anul

ieșire:

1760328000

Referință format dată PHP

Tabelele de mai jos prezintă caracterele de format comune utilizate atunci când se lucrează cu funcțiile de dată PHP.

Parametrii de timp

Parametru Descriere Exemplu
„R” Returnează data și ora completă
<?php
echo date("r");
?>
„un”, „Un” Returnează dacă ora curentă este am sau pm, AM sau, respectiv, PM
<?php
echo date("a");
echo date("A");
?>
„g”, „G” Returnează ora fără zerouri inițiale [1 la 12], respectiv [0 la 23].
<?php
echo date("g");
echo date("G");
?>
„h”, „H” Returnează ora cu zerouri inițiale [01 la 12], respectiv [00 la 23]
<?php
echo date("h");
echo date("H");
?>
„eu”, „s” Returnează minutele/secundele cu zerouri inițiale [00 la 59]
<?php
echo date("i");
echo date("s");
?>

Parametrii zilei

Parametru Descriere Exemplu
„D” Returnează ziua lunii cu zerouri la început [de la 01 la 31]
<?php
echo date("d");
?>
„j” Returnează ziua lunii fără zerouri inițiale [1 la 31]
<?php
echo date("j");
?>
„D” Returnează primele 3 litere ale numelui zilei [Duminică - Sâmbătă]
<?php
echo date("D");
?>
„L” Returnează numele zilei din săptămână [Duminică - Sâmbătă]
<?php
echo date("l");
?>
"w" Returnează ziua săptămânii fără zerouri la început [de la 0 la 6]; duminica este reprezentată de zero (0) până sâmbăta este reprezentată de șase (6)
<?php
echo date("w");
?>
„Z” Returnează ziua anului fără spații de început [de la 0 la 365]
<?php
echo date("z");
?>

Parametrii lunii

Parametru Descriere Exemplu
„M“ Returnează numărul lunii cu zerouri la început [de la 01 la 12]
<?php
echo date("m");
?>
„N” Returnează numărul lunii fără zerouri inițiale [de la 1 la 12]
<?php
echo date("n");
?>
„M” Returnează primele 3 litere ale numelui lunii [Ian to Dec]
<?php
echo date("M");
?>
„F” Returnează numele lunii [ianuarie până în decembrie]
<?php
echo date("F");
?>
„T” Returnează numărul de zile dintr-o lună [28 - 31]
<?php
echo date("t");
?>

Parametrii anului

Parametru Descriere Exemplu
„L” Returnează 1 dacă este un an bisect și 0 dacă nu este un an bisect
<?php
echo date("L");
?>
„Y” Returnează formatul anului în patru cifre
<?php
echo date("Y");
?>
„Y” Returnează formatul anului cu două cifre (de la 00 la 99)
<?php
echo date("y");
?>

Întrebări frecvente

date() este o funcție procedurală simplă care formatează o marcă temporală. Clasa DateTime este orientată pe obiecte și acceptă aritmetică, comparații, fusuri orare și imutabilitate, fiind astfel mai potrivită pentru logica complexă a datelor în aplicații mai mari.

Folosește strtotime(), care citește formate precum „2025-10-13” sau „next” Monday„' și returnează o marcă temporală Unix. Pentru analiza strictă a unui format cunoscut, DateTime::createFromFormat este mai sigură deoarece eșuează în mod clar la o intrare nevalidă.

Creați două obiecte DateTime și apelați diff(), care returnează un DateInterval. Apoi puteți citi zile, luni sau ani, de exemplu $start->diff($end)->days pentru a obține numărul total de zile dintre date.

Da. Descrieți formatul de intrare și de ieșire, iar AI poate produce cod date(), DateTime sau strtotime, inclusiv adăugarea de intervale sau convertirea fusurilor orare. Testați-l cu cazuri limită, cum ar fi anii bisecți și sfârșitul de lună.

Da. Inteligența artificială poate detecta o apelare date_default_timezone_set lipsă, o nepotrivire între server și fusul orar afișat sau probleme legate de ora de vară, apoi poate recomanda utilizarea DateTime cu fusuri orare explicite pentru a face comportamentul previzibil.

Rezumați această postare cu: