Syntax
Syntaxe date_offset_get() funkce je následující:
int date_offset_get ( Čas schůzky $objekt )Parametr funkce je:
$object: Objekt DateTime, ze kterého se má načíst posun časového pásma.
Návratová hodnota
The date_offset_get() funkce vrací posun časového pásma v sekundách jako celé číslo.
Jak používat funkci date_offset_get() v PHP
Zde je příklad, jak používat PHP date_offset_get() funkce pro načtení offsetu UTC pro aktuální časové pásmo:
$datum = Nový Čas schůzky ( 'Nyní' ) ;
$ offset = date_offset_get ( $datum ) ;
echo 'Offset: ' . $ offset ;
?>
V tomto příkladu vytvoříme nový objekt DateTime nastavený na aktuální datum a čas pomocí 'Nyní' tětiva. Tento objekt pak předáme do date_offset_get() funkce, která vrací offset UTC v sekundách. Nakonec vytiskneme offset UTC pomocí příkazu echo.
Poznámka: Posun je nulový, protože pro tento případ není nastaven čas.
Získání offsetu pro konkrétní datum a čas
PHP date_offset_get() metodu lze také použít k získání offsetu UTC pro určité datum a čas. Chcete-li to provést, musíte vytvořit objekt DateTime s požadovaným datem a časem a předat jej funkci. Zde je příklad:
$datum = Nový Čas schůzky ( '2020-12-31 23:59:59' , Nový DateTimeZone ( 'Amerika/New_York' ) ) ;
$ offset = date_offset_get ( $datum ) ;
echo 'Offset: ' . $ offset ;
?>
V tomto příkladu vytvoříme nový objekt DateTime s datem a časem nastaveným na 31. prosince 2020 ve 23:59:59 v časovém pásmu Amerika/New_York. Tento objekt pak předáme do date_offset_get() funkce, která vrací offset UTC v sekundách. Nakonec vytiskneme offset UTC pomocí příkazu echo.
Poznámka: Ve výše uvedeném kódu je časové pásmo nastaveno na Amerika/New_York což je 5 hodin za UTC. Proto se vrací -18 000 jako offset, který je 5 hodin v sekundách.
Převod data a času na jiné časové pásmo
Další způsob použití PHP date_offset_get() funkcí je převést objekt data a času na jiné časové pásmo. Chcete-li to provést, musíte vytvořit nový DateTimeZone objekt s požadovaným časovým pásmem a nastavte jej jako vlastnost vašeho objektu DateTime pomocí setDate() a setTime() metody. Zde je příklad:
$datum = Nový Čas schůzky ( 'Nyní' , Nový DateTimeZone ( 'Amerika/New_York' ) ) ;
$datum -> setTimeZone ( Nový DateTimeZone ( 'Evropa/Londýn' ) ) ;
$ offset = date_offset_get ( $datum ) ;
echo 'Offset: ' . $ offset ;
?>
V tomto příkladu jsou aktuální datum a čas vytvořeny jako nový objekt DateTime v časovém pásmu America/New_York. Poté nastavíme časové pásmo na Evropa/Londýn pomocí setTimeZone() metoda. Nakonec vytiskneme datum a čas pomocí formát() metoda, která formátuje datum a čas do řetězce na základě zadaného formátu.
Poznámka: Ve výše uvedeném kódu je časové pásmo nastaveno na Amerika/New_York což je 5 hodin za UTC. Poté nastavíme časové pásmo na Evropa/Londýn což je 1 hodinu před UTC. Proto vrací 3600 jako offset, který je 1 hodina v sekundách.
Závěr
PHP date_offset_get() Funkce je užitečná funkce pro vývojáře webu k extrahování posunu časového pásma od zadaného data a času. V kombinaci s dalšími funkcemi data a času jej lze použít k výpočtu časového rozdílu mezi dvěma časovými pásmy nebo tomu přizpůsobit časové razítko. Pochopení toho, jak tuto funkci efektivně používat, může výrazně zlepšit funkčnost a možnosti jakékoli webové aplikace.