Sintaksa
Sintaksa date_offset_get() funkcija je sljedeća:
int date_offset_get ( Datum vrijeme $objekt )Parametar funkcije je:
$objekt: Objekt DateTime iz kojeg se dohvaća pomak vremenske zone.
Povratna vrijednost
The date_offset_get() funkcija vraća pomak vremenske zone u sekundama kao cijeli broj.
Kako koristiti funkciju date_offset_get() u PHP-u
Ovdje je primjer kako koristiti PHP date_offset_get() funkcija za dohvaćanje UTC pomaka za trenutnu vremensku zonu:
$datum = novi Datum vrijeme ( 'sada' ) ;
$pomak = date_offset_get ( $datum ) ;
jeka 'Pomak: ' . $pomak ;
?>
U ovom primjeru stvaramo novi DateTime objekt postavljen na trenutni datum i vrijeme pomoću 'sada' niz. Zatim prosljeđujemo ovaj objekt u date_offset_get() funkcija koja vraća UTC pomak u sekundama. Na kraju, ispisujemo UTC pomak pomoću naredbe echo.
Bilješka: Pomak je nula jer vrijeme nije postavljeno za ovaj slučaj.
Dobivanje odstupanja za određeni datum i vrijeme
PHP date_offset_get() metoda se također može koristiti za dobivanje UTC pomaka za određeni datum i vrijeme. Da biste to učinili, morate stvoriti objekt DateTime sa željenim datumom i vremenom i proslijediti ga funkciji. Evo primjera:
$datum = novi Datum vrijeme ( '2020-12-31 23:59:59' , novi DatumVremeZona ( 'Amerika/New_York' ) ) ;
$pomak = date_offset_get ( $datum ) ;
jeka 'Pomak: ' . $pomak ;
?>
U ovom primjeru stvaramo novi objekt DateTime s datumom i vremenom postavljenim na 31. prosinca 2020. u 23:59:59 u vremenskoj zoni America/New_York. Zatim prosljeđujemo ovaj objekt u date_offset_get() funkcija koja vraća UTC pomak u sekundama. Na kraju, ispisujemo UTC pomak pomoću naredbe echo.
Bilješka: U gornjem kodu, vremenska zona postavljena je na Amerika/New_York što je 5 sati iza UTC-a. Dakle, vraća se -18000 kao pomak koji iznosi 5 sati u sekundama.
Pretvaranje datuma i vremena u drugu vremensku zonu
Još jedan način korištenja PHP-a date_offset_get() funkcija je pretvoriti objekt datuma i vremena u drugu vremensku zonu. Da biste to učinili, morate stvoriti novi DatumVremeZona objekt sa željenom vremenskom zonom i postavite ga kao svojstvo vašeg objekta DateTime koristeći setDate() i Postavi vrijeme() metode. Evo primjera:
$datum = novi Datum vrijeme ( 'sada' , novi DatumVremeZona ( 'Amerika/New_York' ) ) ;
$datum -> setTimeZone ( novi DatumVremeZona ( 'Europa/London' ) ) ;
$pomak = date_offset_get ( $datum ) ;
jeka 'Pomak: ' . $pomak ;
?>
U ovom primjeru, trenutni datum i vrijeme stvoreni su kao novi objekt DateTime u vremenskoj zoni America/New_York. Zatim smo postavili vremensku zonu na Europa/London pomoću setTimeZone() metoda. Na kraju ispisujemo datum i vrijeme pomoću format() metoda, koja formatira datum i vrijeme u niz na temelju navedenog formata.
Bilješka: U gornjem kodu, vremenska zona postavljena je na Amerika/New_York što je 5 sati iza UTC-a. Zatim postavljamo vremensku zonu na Europa/London što je 1 sat ispred UTC-a. Stoga vraća 3600 kao pomak što je 1 sat u sekundama.
Zaključak
PHP date_offset_get() funkcija je korisna funkcija za web programere za izdvajanje pomaka vremenske zone određenog datuma i vremena. U kombinaciji s drugim funkcijama za datum i vrijeme, može se koristiti za izračun vremenske razlike između dviju vremenskih zona ili za prilagođavanje vremenske oznake u skladu s tim. Razumijevanje kako učinkovito koristiti ovu funkciju može značajno poboljšati funkcionalnost i mogućnosti bilo koje web aplikacije.