Syntaks
Syntaksen til date_offset_get() funksjonen er som følger:
int date_offset_get ( Dato tid $objekt )Parameteren til funksjonen er:
$object: DateTime-objektet som tidssoneforskyvningen skal hentes fra.
Returverdi
De date_offset_get() funksjonen returnerer tidssoneforskyvningen i sekunder som et heltall.
Slik bruker du funksjonen date_offset_get() i PHP
Her er et eksempel på hvordan du bruker PHP date_offset_get() funksjon for å hente UTC-forskyvningen for gjeldende tidssone:
$date = ny Dato tid ( 'nå' ) ;
$offset = date_offset_get ( $date ) ;
ekko 'Offset: ' . $offset ;
?>
I dette eksemplet lager vi et nytt DateTime-objekt satt til gjeldende dato og klokkeslett ved hjelp av 'nå' streng. Vi sender deretter dette objektet til date_offset_get() funksjon, som returnerer UTC-forskyvningen på sekunder. Til slutt skriver vi ut UTC-offset ved å bruke ekkosetningen.
Merk: Forskyvningen er null fordi tiden ikke er satt for dette tilfellet.
Forskyvning for en bestemt dato og klokkeslett
PHP date_offset_get() metoden kan også brukes for å få UTC-forskyvningen for en bestemt dato og klokkeslett. For å gjøre dette må du opprette et DateTime-objekt med ønsket dato og klokkeslett og sende det til funksjonen. Her er et eksempel:
$date = ny Dato tid ( '2020-12-31 23:59:59' , ny DatoTidssone ( 'Amerika/New_York' ) ) ;
$offset = date_offset_get ( $date ) ;
ekko 'Offset: ' . $offset ;
?>
I dette eksemplet oppretter vi et nytt DateTime-objekt med dato og klokkeslett satt til 31. desember 2020, klokken 23:59:59 i tidssonen America/New_York. Vi sender deretter dette objektet til date_offset_get() funksjon, som returnerer UTC-forskyvningen på sekunder. Til slutt skriver vi ut UTC-offset ved å bruke ekkosetningen.
Merk: I koden ovenfor er tidssonen satt til Amerika/New_York som er 5 timer bak UTC. Derfor kommer den tilbake -18 000 som offset som er 5 timer i sekunder.
Konvertering av dato og klokkeslett til en annen tidssone
En annen måte å bruke PHP på date_offset_get() funksjonen er å konvertere et dato- og tidsobjekt til en annen tidssone. For å gjøre dette må du opprette en ny DatoTidssone objekt med ønsket tidssone og angi det som egenskapen til DateTime-objektet ditt ved å bruke setDate() og setTime() metoder. Her er et eksempel:
$date = ny Dato tid ( 'nå' , ny DatoTidssone ( 'Amerika/New_York' ) ) ;
$date -> setTimeZone ( ny DatoTidssone ( 'Europa/London' ) ) ;
$offset = date_offset_get ( $date ) ;
ekko 'Offset: ' . $offset ;
?>
I dette eksemplet opprettes gjeldende dato og klokkeslett som et nytt DateTime-objekt i tidssonen America/New_York. Vi stiller deretter tidssonen til Europa/London ved å bruke setTimeZone() metode. Til slutt skriver vi ut dato og klokkeslett ved hjelp av format() metode, som formaterer dato og klokkeslett til en streng basert på det angitte formatet.
Merk: I koden ovenfor er tidssonen satt til Amerika/New_York som er 5 timer bak UTC. Vi setter så tidssonen til Europa/London som er 1 time foran UTC. Derfor returnerer den 3600 som offset, som er 1 time i sekunder.
Konklusjon
PHP date_offset_get() funksjon er en nyttig funksjon for webutviklere for å trekke ut tidssonens forskyvning av en spesifisert dato og klokkeslett. I kombinasjon med andre dato- og klokkeslettfunksjoner kan den brukes til å beregne tidsforskjellen mellom to tidssoner eller justere tidsstemplet deretter. Å forstå hvordan du bruker denne funksjonen effektivt kan forbedre funksjonaliteten og egenskapene til enhver nettbasert applikasjon betydelig.