Heim > Backend-Entwicklung > PHP-Problem > So konvertieren Sie Zeitstempel in eine Zeit in einer anderen Zeitzone in PHP

So konvertieren Sie Zeitstempel in eine Zeit in einer anderen Zeitzone in PHP

PHPz
Freigeben: 2023-03-29 17:42:01
Original
1213 Leute haben es durchsucht

PHP ist eine weit verbreitete serverseitige Programmiersprache und ihre Zeitstempel-zu-Zeit-Funktion ist sehr praktisch. Wenn wir jedoch unterschiedliche Zeitzonen berücksichtigen müssen, müssen wir eine Zeitzonenkonvertierung basierend auf dem Zeitstempel hinzufügen. In diesem Artikel besprechen wir, wie man Zeitstempel in PHP in Zeit in verschiedenen Zeitzonen umwandelt.

  1. Verstehen Sie das Konzept der Zeitzone

Bevor wir die Zeitumrechnung durchführen, müssen wir das Konzept der Zeitzone klären. Eine Zeitzone bezieht sich auf die Regel, dass jeder in einer Region die gleiche Standardzeit verwendet. Normalerweise gibt es für jede Zeitzone eine repräsentative Stadt, z. B. UTC-8 für die Zeitzone von Los Angeles.

  1. Den aktuellen Zeitstempel abrufen

Die Funktion zum Abrufen des aktuellen Zeitstempels in PHP ist time(), die die Sekunden zwischen der aktuellen Systemzeit und der UTC-Zeit vom 1. Januar 1970 zurückgibt, 0:00:00 Zahlendifferenz.

Zum Beispiel:

$timestamp = time();
Nach dem Login kopieren
  1. In die angegebene Zeitzone konvertieren

Bevor Sie den Zeitstempel in die Zeit in der angegebenen Zeitzone konvertieren, müssen Sie zunächst die Zielzeitzone bestimmen und dann den aktuellen Zeitstempel in den Zeitstempel von konvertieren Diese Zeitzone verwenden und schließlich PHP verwenden. Die date()-Funktion formatiert sie in das erforderliche Zeitformat.

Konvertieren Sie beispielsweise den aktuellen Zeitstempel in Pekinger Zeit (CST):

$timestamp = time();
$target_timezone = new DateTimeZone('Asia/Shanghai');
$date_time = new DateTime('@' . $timestamp);
$date_time->setTimeZone($target_timezone);
$beijing_time = $date_time->format('Y-m-d H:i:s');
echo $beijing_time;
Nach dem Login kopieren

Die Erklärung dieses Codes lautet wie folgt:

  • Zeile 1 erhält den aktuellen Zeitstempel.
  • Zeile 2 erstellt ein DateTimeZone-Objekt, das die Zielzeitzone darstellt.
  • Zeile 3 erstellt ein DateTime-Objekt mit dem aktuellen Zeitstempel als Parameter.
  • Zeile 4 setzt das DateTime-Objekt auf die Zielzeitzone.
  • Zeile 5 formatiert das DateTime-Objekt in eine Zeichenfolge im Format „Y-m-d H:i:s“, also Jahr-Monat-Tag Stunde: Minute: Sekunde.
  • Zeile 6 gibt die formatierte Pekinger Zeit aus.
  1. Verfügbare Zeitzonen auflisten

Bei Verwendung des DateTimeZone-Objekts müssen Sie die korrekte Zeitzonenkennung übergeben. Wir können die statische Methode listIdentifiers() der DateTimeZone-Klasse verwenden, um die Bezeichner aller verfügbaren Zeitzonen aufzulisten.

Zum Beispiel:

$timezones = DateTimeZone::listIdentifiers();
foreach ($timezones as $timezone) {
    echo $timezone . '<br />';
}
Nach dem Login kopieren

Die Erklärung dieses Codes lautet wie folgt:

  • Zeile 1 ruft die listIdentifiers()-Methode der DateTimeZone-Klasse auf und gibt ein Array mit allen verfügbaren Zeitzonenkennungen zurück.
  • Zeilen 2–4 verwenden eine foreach-Schleife, um alle Zeitzonen-IDs zu durchlaufen und sie auf der Seite auszugeben.

Zusammenfassung

In diesem Artikel wird erklärt, wie man Zeitstempel in PHP in Zeiten in verschiedenen Zeitzonen umwandelt. Zuerst müssen Sie das Konzept der Zeitzone verstehen und dann die Klassen DateTime und DateTimeZone zum Konvertieren verwenden. Außerdem wird empfohlen, alle verfügbaren Zeitzonenkennungen aufzulisten, um die Auswahl der richtigen Zeitzone zu erleichtern. Ich hoffe, dass dieser Artikel für alle hilfreich ist, die die PHP-Zeitkonvertierung erlernen möchten.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Zeitstempel in eine Zeit in einer anderen Zeitzone in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage