Hoe de functie date_offset_get () in PHP te gebruiken

Hoe De Functie Date Offset Get In Php Te Gebruiken



De date_offset_get() is een DateTime-klassefunctie in PHP die wordt gebruikt om de tijdzone-offset in seconden op te halen voor een bepaald DateTime-object. Hiermee kunnen ontwikkelaars het verschil bepalen tussen de tijd in de opgegeven tijdzone en UTC (Coordinated Universal Time).

Syntaxis

De syntaxis van de date_offset_get() functie is als volgt:

int date_offset_get ( Datum Tijd $voorwerp )

De parameter van de functie is:







$voorwerp: Het DateTime-object waarvan de tijdzone-offset moet worden opgehaald.



Winstwaarde

De date_offset_get() functie retourneert de tijdzone-offset in seconden als een geheel getal.



Hoe de functie date_offset_get () in PHP te gebruiken

Hier is een voorbeeld van het gebruik van PHP date_offset_get() functie om de UTC-offset voor de huidige tijdzone op te halen:







$ datum = nieuw Datum Tijd ( 'nu' ) ;

$ verrekening = date_offset_get ( $ datum ) ;

echo 'Offset: ' . $ verrekening ;

?>

In dit voorbeeld maken we een nieuw DateTime-object dat is ingesteld op de huidige datum en tijd met behulp van de 'nu' snaar. Vervolgens geven we dit object door aan de date_offset_get() functie, die de UTC-offset in seconden retourneert. Ten slotte printen we de UTC-offset met behulp van het echo-statement.



Opmerking: De offset is nul omdat de tijd voor dit geval niet is ingesteld.

Offset krijgen voor een specifieke datum en tijd

De PHP date_offset_get() methode kan ook worden gebruikt om de UTC-offset voor een bepaalde datum en tijd te verkrijgen. Om dit te doen, moet u een DateTime-object maken met de gewenste datum en tijd en dit doorgeven aan de functie. Hier is een voorbeeld:



$ datum = nieuw Datum Tijd ( '2020-12-31 23:59:59' , nieuw DatumTijdZone ( 'Amerika/New_York' ) ) ;

$ verrekening = date_offset_get ( $ datum ) ;

echo 'Offset: ' . $ verrekening ;

?>

In dit voorbeeld maken we een nieuw DateTime-object met de datum en tijd ingesteld op 31 december 2020, om 23:59:59 uur in de tijdzone America/New_York. Vervolgens geven we dit object door aan de date_offset_get() functie, die de UTC-offset in seconden retourneert. Ten slotte printen we de UTC-offset met behulp van het echo-statement.

Opmerking: In de bovenstaande code is de tijdzone ingesteld op Amerika/New_York dat is 5 uur achter UTC. Daarom keert het terug -18000 als de offset die 5 uur in seconden is.

De datum en tijd converteren naar een andere tijdzone

Een andere manier om PHP te gebruiken date_offset_get() functie is om een ​​datum- en tijdobject naar een andere tijdzone te converteren. Om dit te doen, moet u een nieuwe maken DatumTijdZone object met de gewenste tijdzone en stel het in als de eigenschap van uw DateTime-object met behulp van de datum instellen() En tijd instellen() methoden. Hier is een voorbeeld:



$ datum = nieuw Datum Tijd ( 'nu' , nieuw DatumTijdZone ( 'Amerika/New_York' ) ) ;

$ datum -> setTimeZone ( nieuw DatumTijdZone ( 'Europa/Londen' ) ) ;

$ verrekening = date_offset_get ( $ datum ) ;

echo 'Offset: ' . $ verrekening ;

?>

In dit voorbeeld worden de huidige datum en tijd gemaakt als een nieuw DateTime-object in de tijdzone America/New_York. Vervolgens stellen we de tijdzone in op Europa/Londen met behulp van de setTimeZone() methode. Ten slotte drukken we de datum en tijd af met behulp van de formaat() methode, die de datum en tijd opmaakt in een tekenreeks op basis van het opgegeven formaat.

Opmerking: In de bovenstaande code is de tijdzone ingesteld op Amerika/New_York dat is 5 uur achter UTC. Vervolgens zetten we de tijdzone op Europa/Londen dat is 1 uur voor op UTC. Daarom retourneert het 3600 als de offset die 1 uur in seconden is.

Conclusie

PHP date_offset_get() functie is een handige functie voor webontwikkelaars om de offset van de tijdzone van een bepaalde datum en tijd te extraheren. In combinatie met andere datum- en tijdfuncties kan het worden gebruikt om het tijdsverschil tussen twee tijdzones te berekenen of de tijdstempel dienovereenkomstig aan te passen. Als u begrijpt hoe u deze functie effectief kunt gebruiken, kunt u de functionaliteit en mogelijkheden van elke webgebaseerde toepassing aanzienlijk verbeteren.