Szintaxis
A szintaxis a date_offset_get() a funkció a következő:
int date_offset_get ( Dátum idő $objektum )A függvény paramétere:
$objektum: A DateTime objektum, amelyből az időzóna-eltolást le kell kérni.
Visszatérési érték
A date_offset_get() függvény egész számként adja vissza az időzóna eltolását másodpercben.
A date_offset_get() függvény használata PHP-ben
Itt van egy példa a PHP használatára date_offset_get() funkció az aktuális időzóna UTC-eltolásának lekéréséhez:
$date = új Dátum idő ( 'Most' ) ;
$offset = date_offset_get ( $date ) ;
visszhang 'Eltolás:' . $offset ;
?>
Ebben a példában egy új DateTime objektumot hozunk létre az aktuális dátumra és időre a segítségével 'Most' húr. Ezután ezt az objektumot átadjuk a date_offset_get() függvény, amely visszaadja az UTC eltolást másodpercben. Végül kinyomtatjuk az UTC eltolást az echo utasítás segítségével.
Jegyzet: Az eltolás nulla, mert erre az esetre nincs beállítva az idő.
Beszámítás egy adott dátumra és időpontra
A PHP date_offset_get() módszer is használható egy bizonyos dátumra és időpontra vonatkozó UTC-eltolás megszerzésére. Ehhez létre kell hozni egy DateTime objektumot a kívánt dátummal és időponttal, és át kell adni a függvénynek. Íme egy példa:
$date = új Dátum idő ( '2020-12-31 23:59:59' , új DateTimeZone ( „Amerika/New_York” ) ) ;
$offset = date_offset_get ( $date ) ;
visszhang 'Eltolás:' . $offset ;
?>
Ebben a példában egy új DateTime objektumot hozunk létre 2020. december 31-re, 23:59:59-re beállított dátummal és időponttal az amerikai/New_York időzónában. Ezután ezt az objektumot átadjuk a date_offset_get() függvény, amely visszaadja az UTC eltolást másodpercben. Végül kinyomtatjuk az UTC eltolást az echo utasítás segítségével.
Jegyzet: A fenti kódban az időzóna a következőre van állítva Amerika/New_York ami 5 órával elmarad az UTC-től. Ezért visszatér -18000 eltolásként, ami 5 óra másodpercben.
A dátum és az idő átalakítása más időzónára
Egy másik módja a PHP használatának date_offset_get() funkció egy dátum és idő objektumot egy másik időzónára konvertálni. Ehhez létre kell hoznia egy újat DateTimeZone objektum a kívánt időzónával, és állítsa be a DateTime objektum tulajdonságaként a segítségével dátum beállítása() és beállítani az időt() mód. Íme egy példa:
$date = új Dátum idő ( 'Most' , új DateTimeZone ( „Amerika/New_York” ) ) ;
$date -> setTimeZone ( új DateTimeZone ( 'Európa/London' ) ) ;
$offset = date_offset_get ( $date ) ;
visszhang 'Eltolás:' . $offset ;
?>
Ebben a példában az aktuális dátum és idő új DateTime objektumként jön létre az Amerika/New_York időzónában. Ezután beállítottuk az időzónát Európa/London értékre a segítségével setTimeZone() módszer. Végül kinyomtatjuk a dátumot és az időt a segítségével formátum() metódus, amely a dátumot és az időt karakterláncba formálja a megadott formátum alapján.
Jegyzet: A fenti kódban az időzóna a következőre van állítva Amerika/New_York ami 5 órával elmarad az UTC-től. Ezután beállítottuk az időzónát Európa/London ami 1 órával UTC előtt van. Ezért 3600-at ad vissza eltolásként, ami 1 óra másodpercben.
Következtetés
PHP date_offset_get() A funkció egy hasznos funkció a webfejlesztők számára, hogy kivonják az időzóna eltolását egy adott dátum és idő függvényében. Más dátum- és időfunkciókkal kombinálva két időzóna közötti időkülönbség kiszámítására vagy az időbélyeg ennek megfelelő beállítására használható. A funkció hatékony használatának megértése jelentősen javíthatja bármely webalapú alkalmazás funkcionalitását és képességeit.