Aktueller Standort: Startseite> Neueste Artikel> Wie berechnet ich UNIX -Zeitstempel für eine bestimmte Zeitzone mit den Funktionen TimeZone_Name_get und mkTime?

Wie berechnet ich UNIX -Zeitstempel für eine bestimmte Zeitzone mit den Funktionen TimeZone_Name_get und mkTime?

M66 2025-06-27

In PHP ist die Handhabungszeitzonen und Zeitstempel eine häufige Aufgabe. TIMEZONE_NAME_GET UND MKTIME sind zwei sehr nützliche Funktionen, die uns helfen können, Unix -Zeitstempel unter einer bestimmten Zeitzone zu berechnen. In diesem Artikel wird erläutert, wie diese beiden Funktionen verwendet werden, um diese Funktion zu implementieren und Ihnen einen einfachen Beispielcode zu bieten.

1. Verstehen Sie die Funktion TimeZone_Name_get

Die Funktion TimeZone_Name_get gibt den Timezone -Namen des angegebenen DateTimezone -Objekts zurück. Dieser Zeitzonenname befindet sich normalerweise in einem Region/Stadtformat wie Amerika/New_york oder Asien/Shanghai .

Verwendungsbeispiel:

 $timezone = new DateTimeZone('Asia/Shanghai');
echo timezone_name_get($timezone);

Ausgangsergebnis:

 Asia/Shanghai

2. Verstehen Sie die MkTime -Funktion

Die MKTime -Funktion wird verwendet, um einen Unix -Zeitstempel für eine bestimmte Zeit zu berechnen. Es akzeptiert mehrere Parameter, um das Jahr, Monat, Tag, Stunde, Minute und zweite Zeit anzugeben. Diese Funktion wird normalerweise verwendet, um die lokale Zeit in Unix -Zeitstempel umzuwandeln.

Verwendungsbeispiel:

 $timestamp = mktime(14, 30, 0, 6, 12, 2025);
echo $timestamp;

Das Ausgabeergebnis ist ein Unix -Zeitstempel um 14:30:00 Uhr am 12. Juni 2025.

3.. Kombinieren Sie TimeZone_Name_get und mkTime, um Unix -Zeitstempel für eine bestimmte Zeitzone zu berechnen

Bei der Berechnung von UNIX -Zeitstempeln für eine bestimmte Zeitzone müssen TimeZone_Name_get und MkTime in Kombination verwendet werden. Die spezifische Idee ist:

  1. Holen Sie sich Zeitzone -Informationen über TimeZone_Name_get .

  2. Erstellen Sie ein DateTimezone -Objekt und setzen Sie es als Zielzeitzone fest.

  3. Erstellen Sie ein DateTime -Objekt und setzen Sie es auf die Zeit dieser Zeitzone.

  4. Verwenden Sie die MKTime -Funktion, um die Zeit in einen Unix -Zeitstempel umzuwandeln.

4. Codebeispiele

Hier ist ein vollständiger Beispielcode, der TimeZone_Name_get und MkTime kombiniert, um den Unix -Zeitstempel für ein Datum und eine Zeit unter einer bestimmten Zeitzone (wie Asien/Shanghai ) zu berechnen:

 <?php
// Zielzeitzone
$timezone = new DateTimeZone('Asia/Shanghai');

// Holen Sie sich den Zeitzonennamen
$timezone_name = timezone_name_get($timezone);
echo "Zielzeitzone: " . $timezone_name . "\n";

// erstellen DateTime Objekt und auf eine bestimmte Zeit einstellen
$date = new DateTime('2025-06-12 14:30:00', $timezone);

// verwenden mktime Funktionen konvertieren es in Unix Zeitstempel
$timestamp = mktime($date->format('H'), $date->format('i'), $date->format('s'),
                    $date->format('m'), $date->format('d'), $date->format('Y'));

echo "Entsprechend Unix Zeitstempel: " . $timestamp . "\n";
?>

5. Erklären Sie den Code

  1. Erstellen Sie ein DateTimezone -Objekt : Wir geben zunächst die Zielzeitzone (wie Asien/Shanghai ) an.

  2. Holen Sie sich den Namen der Zeitzone : Holen Sie sich den Zeitzonennamen und geben Sie ihn über TimeZone_Name_get aus.

  3. Erstellen eines DateTime -Objekts : Der Konstruktor des DateTime -Objekts akzeptiert eine Datumszeitzeichenfolge und ein Zeitzonenobjekt. Wir setzen die Zielzeit (14:30:00 Uhr am 12. Juni 2025) in dieses Objekt.

  4. Verwenden Sie MKTime , um Unix -Zeitstempel zu berechnen : Zeit, Minute, Sekunde, Monat, Tag und Jahr aus dem DateTime -Objekt extrahieren, an die MKTime -Funktion weitergeben und schließlich den Unix -Zeitstempel erhalten.

6. Schlussfolgerung

Durch die Kombination von TimeZone_Name_Get- und MKTime -Funktionen können wir die Unix -Zeitstempel unter einer bestimmten Zeitzone problemlos berechnen. Mit diesen gemäßigten Fähigkeiten können Sie Zeitberechnungen im Zusammenhang mit Zeitzonen genauer bearbeiten, insbesondere in den Anwendungen über die Zeitzonen.