Jak používat funkci date_offset_get() v PHP

Jak Pouzivat Funkci Date Offset Get V Php



The date_offset_get() je funkce třídy DateTime v PHP používaná k načtení posunu časového pásma v sekundách pro daný objekt DateTime. Umožňuje vývojářům získat rozdíl mezi časem v určeném časovém pásmu a UTC (Coordinated Universal Time).

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.