Sådan bruges funktionen date_offset_get() i PHP

Sadan Bruges Funktionen Date Offset Get I Php



Det date_offset_get() er en DateTime-klassefunktion i PHP, der bruges til at hente tidszoneforskydningen i sekunder for et givet DateTime-objekt. Det giver udviklere mulighed for at opnå forskellen mellem tiden i den angivne tidszone og UTC (Coordinated Universal Time).

Syntaks

Syntaksen for date_offset_get() funktion er som følger:

int dato_offset_get ( Dato tid $objekt )

Funktionens parameter er:







$object: DateTime-objektet, hvorfra tidszoneforskydningen skal hentes.



Returværdi

Det date_offset_get() funktion returnerer tidszoneforskydningen i sekunder som et heltal.



Sådan bruges funktionen date_offset_get() i PHP

Her er et eksempel på, hvordan du bruger PHP date_offset_get() funktion til at hente UTC offset for den aktuelle tidszone:







$dato = ny Dato tid ( 'nu' ) ;

$ offset = dato_offset_get ( $dato ) ;

ekko 'Offset: ' . $ offset ;

?>

I dette eksempel opretter vi et nyt DateTime-objekt indstillet til den aktuelle dato og klokkeslæt ved hjælp af 'nu' snor. Vi sender derefter dette objekt til date_offset_get() funktion, som returnerer UTC offset i sekunder. Til sidst udskriver vi UTC-offset ved hjælp af ekkosætningen.



Bemærk: Forskydningen er nul, fordi tiden ikke er indstillet til dette tilfælde.

Forskydning for en bestemt dato og tid

PHP date_offset_get() metoden kan også bruges til at opnå UTC-offset for en bestemt dato og klokkeslæt. For at gøre dette skal du oprette et DateTime-objekt med den ønskede dato og klokkeslæt og videregive det til funktionen. Her er et eksempel:



$dato = ny Dato tid ( '2020-12-31 23:59:59' , ny DatoTimeZone ( 'Amerika/New_York' ) ) ;

$ offset = dato_offset_get ( $dato ) ;

ekko 'Offset: ' . $ offset ;

?>

I dette eksempel opretter vi et nyt DateTime-objekt med dato og klokkeslæt sat til 31. december 2020 kl. 23:59:59 i tidszonen America/New_York. Vi sender derefter dette objekt til date_offset_get() funktion, som returnerer UTC offset i sekunder. Til sidst udskriver vi UTC-offset ved hjælp af ekkosætningen.

Bemærk: I ovenstående kode er tidszonen sat til Amerika/New_York hvilket er 5 timer efter UTC. Derfor vender det tilbage -18.000 som offset, der er 5 timer i sekunder.

Konvertering af dato og klokkeslæt til en anden tidszone

En anden måde at bruge PHP på date_offset_get() Funktionen er at konvertere et dato- og tidsobjekt til en anden tidszone. For at gøre dette skal du oprette en ny DatoTimeZone objekt med den ønskede tidszone, og indstil det som egenskaben for dit DateTime-objekt ved hjælp af setDate() og fastsat tidspunkt() metoder. Her er et eksempel:



$dato = ny Dato tid ( 'nu' , ny DatoTimeZone ( 'Amerika/New_York' ) ) ;

$dato -> sæt Tidszone ( ny DatoTimeZone ( 'Europa/London' ) ) ;

$ offset = dato_offset_get ( $dato ) ;

ekko 'Offset: ' . $ offset ;

?>

I dette eksempel oprettes den aktuelle dato og tid som et nyt DateTime-objekt i tidszonen America/New_York. Vi indstiller derefter tidszonen til Europa/London ved hjælp af setTimeZone() metode. Til sidst udskriver vi dato og klokkeslæt ved hjælp af format() metode, som formaterer dato og klokkeslæt til en streng baseret på det angivne format.

Bemærk: I ovenstående kode er tidszonen sat til Amerika/New_York hvilket er 5 timer efter UTC. Vi indstiller derefter tidszonen til Europa/London hvilket er 1 time foran UTC. Derfor returnerer den 3600 som offset, hvilket er 1 time i sekunder.

Konklusion

PHP date_offset_get() funktion er en nyttig funktion for webudviklere til at udtrække tidszonens offset af en specificeret dato og klokkeslæt. I kombination med andre dato- og tidsfunktioner kan den bruges til at beregne tidsforskellen mellem to tidszoner eller justere tidsstemplet i overensstemmelse hermed. At forstå, hvordan man bruger denne funktion effektivt, kan forbedre funktionaliteten og mulighederne i enhver webbaseret applikation markant.