Cum se utilizează funcția date_offset_get() în PHP

Cum Se Utilizeaza Functia Date Offset Get In Php



The date_offset_get() este o funcție de clasă DateTime în PHP folosită pentru a prelua offset-ul fusului orar în secunde pentru un anumit obiect DateTime. Permite dezvoltatorilor să obțină diferența dintre ora din fusul orar specificat și UTC (Coordinated Universal Time).

Sintaxă

Sintaxa lui date_offset_get() functia este urmatoarea:

int date_offset_get ( DateTime $obiect )

Parametrul funcției este:







$obiect: Obiectul DateTime de la care se poate prelua offset-ul fusului orar.



Valoare returnată

The date_offset_get() funcția returnează offset-ul fusului orar în secunde ca număr întreg.



Cum se utilizează funcția date_offset_get() în PHP

Iată un exemplu de utilizare a PHP date_offset_get() funcția pentru a prelua offset-ul UTC pentru fusul orar curent:







$date = nou DateTime ( 'acum' ) ;

$offset = date_offset_get ( $date ) ;

ecou 'Decalaj: ' . $offset ;

?>

În acest exemplu, creăm un nou obiect DateTime setat la data și ora curente folosind 'acum' şir. Apoi trecem acest obiect către date_offset_get() funcția, care returnează offset-ul UTC în secunde. În cele din urmă, imprimăm offset-ul UTC folosind instrucțiunea echo.



Notă: Decalajul este zero deoarece ora nu este setată pentru acest caz.

Obținerea compensației pentru o anumită dată și oră

PHP date_offset_get() metoda poate fi folosită și pentru a obține decalajul UTC pentru o anumită dată și oră. Pentru a face acest lucru, trebuie să creați un obiect DateTime cu data și ora dorite și să îl transmiteți funcției. Iată un exemplu:



$date = nou DateTime ( '2020-12-31 23:59:59' , nou DateTimeZone ( „America/New_York” ) ) ;

$offset = date_offset_get ( $date ) ;

ecou 'Decalaj: ' . $offset ;

?>

În acest exemplu, creăm un nou obiect DateTime cu data și ora setate la 31 decembrie 2020, la 23:59:59 în fusul orar America/New_York. Apoi trecem acest obiect către date_offset_get() funcția, care returnează offset-ul UTC în secunde. În cele din urmă, imprimăm offset-ul UTC folosind instrucțiunea echo.

Notă: În codul de mai sus, fusul orar este setat la America/New_York care este cu 5 ore în urma UTC. Prin urmare, se întoarce -18000 ca offset care este de 5 ore în secunde.

Conversia datei și orei într-un fus orar diferit

Un alt mod de a folosi PHP date_offset_get() funcția este de a converti un obiect de dată și oră într-un alt fus orar. Pentru a face acest lucru, trebuie să creați un nou DateTimeZone obiect cu fusul orar dorit și setați-l ca proprietate a obiectului dvs. DateTime folosind Seteaza data() și potriveste ora() metode. Iată un exemplu:



$date = nou DateTime ( 'acum' , nou DateTimeZone ( „America/New_York” ) ) ;

$date -> setTimeZone ( nou DateTimeZone ( „Europa/Londra” ) ) ;

$offset = date_offset_get ( $date ) ;

ecou 'Decalaj: ' . $offset ;

?>

În acest exemplu, data și ora curente sunt create ca un nou obiect DateTime în fusul orar America/New_York. Apoi setăm fusul orar la Europe/London folosind setTimeZone() metodă. În cele din urmă, imprimăm data și ora folosind format() metoda, care formatează data și ora într-un șir pe baza formatului specificat.

Notă: În codul de mai sus, fusul orar este setat la America/New_York care este cu 5 ore în urma UTC. Apoi setăm fusul orar la Europa/Londra care este cu 1 oră înainte de UTC. Prin urmare, returnează 3600 ca offset, care este de 1 oră în secunde.

Concluzie

PHP date_offset_get() funcția este o funcție utilă pentru dezvoltatorii web pentru a extrage decalajul fusului orar al unei date și ore specificate. În combinație cu alte funcții de dată și oră, poate fi utilizat pentru a calcula diferența de timp dintre două fusuri orare sau pentru a ajusta marca temporală în consecință. Înțelegerea modului de utilizare eficientă a acestei funcții poate îmbunătăți semnificativ funcționalitatea și capacitățile oricărei aplicații bazate pe web.