Kaip naudoti funkciją date_offset_get() PHP

Kaip Naudoti Funkcija Date Offset Get Php



The date_offset_get() yra PHP DateTime klasės funkcija, naudojama tam tikro DateTime objekto laiko juostos poslinkiui sekundėmis gauti. Tai leidžia kūrėjams gauti skirtumą tarp laiko nurodytoje laiko juostoje ir UTC (koordinuoto pasaulinio laiko).

Sintaksė

Sintaksė date_offset_get() funkcija yra tokia:

tarpt date_offset_get ( DataLaikas $objektas )

Funkcijos parametras yra:







$objektas: DateTime objektas, iš kurio reikia gauti laiko juostos poslinkį.



Grąžinimo vertė

The date_offset_get() funkcija grąžina laiko juostos poslinkį sekundėmis kaip sveikąjį skaičių.



Kaip naudoti funkciją date_offset_get() PHP

Čia yra PHP naudojimo pavyzdys date_offset_get() funkcija, skirta dabartinės laiko juostos UTC poslinkiui gauti:







$data = naujas DataLaikas ( 'dabar' ) ;

$ poslinkis = date_offset_get ( $data ) ;

aidas 'Offsetas:' . $ poslinkis ;

?>

Šiame pavyzdyje mes sukuriame naują DateTime objektą, nustatytą dabartinei datai ir laikui, naudodami 'dabar' styga. Tada perduodame šį objektą į date_offset_get() funkcija, kuri grąžina UTC poslinkį sekundėmis. Galiausiai spausdiname UTC poslinkį naudodami echo teiginį.



Pastaba: Poslinkis lygus nuliui, nes šiuo atveju laikas nenustatytas.

Užskaitymas už konkrečią datą ir laiką

PHP date_offset_get() metodas taip pat gali būti naudojamas norint gauti UTC poslinkį tam tikrai datai ir laikui. Norėdami tai padaryti, turite sukurti DateTime objektą su norima data ir laiku ir perduoti jį funkcijai. Štai pavyzdys:



$data = naujas DataLaikas ( „2020-12-31 23:59:59“ , naujas DateTimeZone ( „Amerika/Niujorkas“ ) ) ;

$ poslinkis = date_offset_get ( $data ) ;

aidas 'Offsetas:' . $ poslinkis ;

?>

Šiame pavyzdyje sukuriame naują DateTime objektą, kurio data ir laikas nustatytas į 2020 m. gruodžio 31 d., 23:59:59 Amerikos/Niujorko laiko juostoje. Tada perduodame šį objektą į date_offset_get() funkcija, kuri grąžina UTC poslinkį sekundėmis. Galiausiai spausdiname UTC poslinkį naudodami echo teiginį.

Pastaba: Aukščiau pateiktame kode nustatyta laiko juosta Amerika/Niujorkas kuris atsilieka 5 valandomis nuo UTC. Vadinasi, grįžta -18 000 kaip poslinkis, kuris yra 5 valandos sekundėmis.

Datos ir laiko konvertavimas į kitą laiko juostą

Kitas būdas naudoti PHP date_offset_get() funkcija yra konvertuoti datos ir laiko objektą į kitą laiko juostą. Norėdami tai padaryti, turite sukurti naują DateTimeZone objektą su norima laiko juosta ir nustatykite jį kaip DateTime objekto nuosavybę naudodami setDate() ir nustatyti laiką() metodus. Štai pavyzdys:



$data = naujas DataLaikas ( 'dabar' , naujas DateTimeZone ( „Amerika/Niujorkas“ ) ) ;

$data -> setTimeZone ( naujas DateTimeZone ( „Europa/Londonas“ ) ) ;

$ poslinkis = date_offset_get ( $data ) ;

aidas 'Offsetas:' . $ poslinkis ;

?>

Šiame pavyzdyje dabartinė data ir laikas sukuriami kaip naujas DateTime objektas Amerikos/Niujorko laiko juostoje. Tada mes nustatėme laiko juostą į Europą / Londoną naudodami setTimeZone() metodas. Galiausiai atspausdiname datą ir laiką naudodami formatas () metodas, kuris formatuoja datą ir laiką į eilutę pagal nurodytą formatą.

Pastaba: Aukščiau pateiktame kode nustatyta laiko juosta Amerika/Niujorkas kuris atsilieka 5 valandomis nuo UTC. Tada nustatome laiko juostą Europa/Londonas kuris yra 1 valanda prieš UTC. Taigi jis grąžina 3600 kaip poslinkį, kuris yra 1 valanda sekundėmis.

Išvada

PHP date_offset_get() funkcija yra naudinga žiniatinklio kūrėjams funkcija, norint išgauti nurodytos datos ir laiko laiko juostos poslinkį. Kartu su kitomis datos ir laiko funkcijomis jis gali būti naudojamas apskaičiuoti laiko skirtumą tarp dviejų laiko juostų arba atitinkamai pakoreguoti laiko žymą. Supratimas, kaip efektyviai naudoti šią funkciją, gali žymiai pagerinti bet kurios žiniatinklio programos funkcionalumą ir galimybes.