Syntaksi
Kohteen syntaksi date_offset_get() toiminto on seuraava:
int date_offset_get ( Treffiaika $objekti )Toiminnon parametri on:
$objekti: DateTime-objekti, josta aikavyöhykkeen siirtymä noudetaan.
Palautusarvo
The date_offset_get() funktio palauttaa aikavyöhykkeen siirtymän sekunneissa kokonaislukuna.
Date_offset_get()-funktion käyttäminen PHP:ssä
Tässä on esimerkki PHP:n käytöstä date_offset_get() toiminto noutaa nykyisen aikavyöhykkeen UTC-poikkeama:
$date = Uusi Treffiaika ( 'nyt' ) ;
$offset = date_offset_get ( $date ) ;
kaiku 'Offset:' . $offset ;
?>
Tässä esimerkissä luomme uuden DateTime-objektin nykyiseen päivämäärään ja kellonaikaan käyttämällä 'nyt' merkkijono. Sitten välitämme tämän objektin date_offset_get() toiminto, joka palauttaa UTC-poikkeaman sekunneissa. Lopuksi tulostetaan UTC-offset käyttämällä kaikulausetta.
Huomautus: Poikkeama on nolla, koska aikaa ei ole asetettu tässä tapauksessa.
Tietyn päivämäärän ja kellonajan hyvitys
PHP date_offset_get() menetelmää voidaan käyttää myös UTC-offsetin saamiseksi tietylle päivämäärälle ja kellonajalle. Tätä varten sinun on luotava DateTime-objekti halutulla päivämäärällä ja kellonajalla ja välitettävä se funktiolle. Tässä on esimerkki:
$date = Uusi Treffiaika ( '2020-12-31 23:59:59' , Uusi DateTimeZone ( 'Amerikka/New_York' ) ) ;
$offset = date_offset_get ( $date ) ;
kaiku 'Offset:' . $offset ;
?>
Tässä esimerkissä luomme uuden DateTime-objektin, jonka päivämäärä ja aika on asetettu 31. joulukuuta 2020 kello 23.59.59 Amerikan/New_Yorkin aikavyöhykkeellä. Sitten välitämme tämän objektin date_offset_get() toiminto, joka palauttaa UTC-poikkeaman sekunneissa. Lopuksi tulostetaan UTC-offset käyttämällä kaikulausetta.
Huomautus: Yllä olevassa koodissa aikavyöhyke on asetettu arvoon Amerikka/New_York joka on 5 tuntia UTC:tä jäljessä. Siksi se palaa -18 000 siirtymänä, joka on 5 tuntia sekunneissa.
Päivämäärän ja ajan muuntaminen eri aikavyöhykkeeksi
Toinen tapa käyttää PHP:tä date_offset_get() toiminto on muuntaa päivämäärä- ja aikaobjekti eri aikavyöhykkeeksi. Tätä varten sinun on luotava uusi DateTimeZone objekti halutulla aikavyöhykkeellä ja aseta se DateTime-objektin omaisuudeksi käyttämällä aseta päivä() ja Asettaa aika() menetelmiä. Tässä on esimerkki:
$date = Uusi Treffiaika ( 'nyt' , Uusi DateTimeZone ( 'Amerikka/New_York' ) ) ;
$date -> setTimeZone ( Uusi DateTimeZone ( 'Eurooppa/Lontoo' ) ) ;
$offset = date_offset_get ( $date ) ;
kaiku 'Offset:' . $offset ;
?>
Tässä esimerkissä nykyinen päivämäärä ja aika luodaan uutena DateTime-objektina Amerikan/New_Yorkin aikavyöhykkeellä. Asetamme sitten aikavyöhykkeeksi Eurooppa/Lontoo käyttämällä setTimeZone() menetelmä. Lopuksi tulostamme päivämäärän ja kellonajan käyttämällä muoto() menetelmä, joka muotoilee päivämäärän ja kellonajan merkkijonoksi määritetyn muodon perusteella.
Huomautus: Yllä olevassa koodissa aikavyöhyke on asetettu arvoon Amerikka/New_York joka on 5 tuntia UTC:tä jäljessä. Asetamme sitten aikavyöhykkeeksi Eurooppa/Lontoo joka on 1 tunti UTC:tä edellä. Siksi se palauttaa 3600 siirtymänä, joka on 1 tunti sekunneissa.
Johtopäätös
PHP date_offset_get() -toiminto on hyödyllinen toiminto verkkokehittäjille, jotka voivat poimia aikavyöhykkeen siirtymän tietyltä päivämäärältä ja kellonajalta. Yhdessä muiden päivämäärä- ja aikatoimintojen kanssa sitä voidaan käyttää kahden aikavyöhykkeen välisen aikaeron laskemiseen tai aikaleiman säätämiseen vastaavasti. Tämän toiminnon tehokkaan käytön ymmärtäminen voi parantaa merkittävästi minkä tahansa verkkopohjaisen sovelluksen toimivuutta ja ominaisuuksia.