In PHP kann das Erzählen des Zeitzonenversatzes der aktuellen Zeit durch verschiedene Methoden erreicht werden, bei denen TimeZone_Name_get und DateTime :: GetOffset zwei häufig verwendete Möglichkeiten sind, Zeitzonen -Offsets zu erhalten. In diesem Artikel werden wir zeigen, wie beide Methoden mit praktischen Beispielen verwendet werden.
timezone_name_get ist eine Methode der DateTimezone -Klasse, die den Namen der aktuellen Zeitzone zurückgibt. In Kombination mit dem DateTimezone -Objekt können wir den Zeitzonenversatz der aktuellen Zeit problemlos erhalten.
<?php
// Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit
$date = new DateTime();
// Erhalten DateTime Die Zeitzone des Objekts
$timezone = $date->getTimezone();
// Erhalten时区名称
$timezone_name = timezone_name_get($timezone);
echo "Aktueller Zeitzonenname: " . $timezone_name . "\n";
// ErhaltenZeitzone -Offset
$offset = $timezone->getOffset($date);
echo "Aktuelle Zeitzone -Offset: " . $offset . " Zweite\n";
?>
Zunächst verwenden wir neue DateTime (), um ein DateTime -Objekt der aktuellen Zeit zu erstellen.
Als nächstes verwenden wir die GetTimeZone () -Methode, um die Zeitzoneninformationen der aktuellen Zeit zu erhalten.
Die Methode TimeZone_Name_get () kann verwendet werden, um den Namen der Zeitzone zu erhalten.
Schließlich verwenden wir die GetOffset () -Methode, um den Offset der Zeitzone zu erhalten, die eine Ganzzahl zurückgibt, die die Abweichung der aktuellen Zeitzone von der UTC -Zeit in Sekunden lang darstellt.
DateTime :: GetOffset ist eine Methode in der DateTime -Klasse, die den Zeitzonenversatz der aktuellen Zeit direkt zurückgibt. Diese Methode gibt eine Ganzzahl zurück, die den Offset in Sekunden der aktuellen Zeitzone relativ zu UTC angibt.
<?php
// Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit
$date = new DateTime();
// ErhaltenAktuelle Zeitzone -Offset
$offset = $date->getOffset();
echo "Aktuelle Zeitzone -Offset: " . $offset . " Zweite\n";
?>
Erstellen Sie ein DateTime -Objekt der aktuellen Zeit über New DateTime () .
Verwenden Sie die Methode GetOffset (), um den Zeitzonenversatz der aktuellen Zeit in Sekunden lang direkt zu erhalten.
Diese Methode gibt den Zeitzonenunterschied von UTC zurück, der negativ (die Zeitzone der Westzone darstellt) oder positiv (die Zeitzone der Ostzone darstellt).
Der von der Methode getOffset () zurückgegebene Wert ist der Versatz in Bezug auf UTC und liegt in Sekunden.
Zeitzonen -Offsets können bei Tageslichtsparzeit (DST) variieren, sodass dies bei der Erlangung von Offsets berücksichtigt werden muss.
Wenn Sie Zeitzonen -Offsets in Stunden und Minuten anzeigen müssen, können Sie diese auf folgende Weise konvertieren:
<?php
$offset_hours = floor($offset / 3600); // Zu Stunden konvertieren
$offset_minutes = abs(floor(($offset % 3600) / 60)); // In Minuten konvertieren
echo "Zeitzone -Offset: " . $offset_hours . ":" . str_pad($offset_minutes, 2, "0", STR_PAD_LEFT) . "\n";
?>
PHP bietet eine sehr einfache Möglichkeit, den Zeitzone -Offset der aktuellen Zeit durch die beiden Methoden von Timezone_Name_get und DateTime :: GetOffset zu erhalten. Unabhängig davon, ob aus der Perspektive des Zeitzonennamens oder der direkten Erhalt von Offset-Werten uns effektiv helfen können, mit zeitgebundenen Anforderungen umzugehen. Die DateTime -Klasse und die DateTimezone -Klasse von PHP bieten eine starke Unterstützung für komplexe Probleme wie die Zeitzonenkonvertierung und die Einsparung von Tageslicht.