In PHP kann die Funktion DATE_SUNSET () verwendet werden, um die Sonnenuntergangszeit an einem bestimmten Ort zu erhalten. Durch die Verwendung dieser Funktion können wir die Sonnenuntergangszeiten für mehrere Städte problemlos vergleichen und in Ordnung präsentieren. In diesem Artikel wird erläutert, wie die Sonnenuntergangszeiten in verschiedenen Städten durch PHP erhält und diese Zeiten von Morgen zu Nacht in Ordnung sein können.
DATE_SUNSET () ist eine PHP-integrierte Funktion zum Erhalten von Sonnenuntergangszeiten. Die grundlegende Syntax ist wie folgt:
date_sunset(time, format, latitude, longitude, zenith, gmt_offset);
Zeit : Der Unix -Zeitstempel der Stromzeit, normalerweise mit der Funktion Time () erhalten.
Format : Gibt das Zeitformat zurück, das Sunfuncs_ret_timestamp sein kann (zurückgegeben), sunfuncs_ret_string (zurückgegebenes String -Format) oder sunfuncs_ret_double (zurückgegeben die Anzahl der Stunden des Gleitflockens).
Breitengrad : Der Breitengrad der Zielstadt.
Länge : Die Länge der Zielstadt.
Zenith : Die Standardhöhe des Sonnenuntergangs, im Allgemeinen 90,5 Grad (d. H. Wenn die Sonne den Horizont kontaktiert).
GMT_OFFSET : Der Offset der Zeitzone, normalerweise 0 oder andere Zeitzonen.
Wir können ihren Breitengrad und ihre Länge für jede Stadt definieren und die Funktion DATE_SUNSET () verwenden, um ihre Sonnenuntergangszeit zu erhalten. Angenommen, wir wollen die Sonnenuntergangszeiten der folgenden Städte bekommen: Peking, New York und London.
Hier ist ein Beispielcode zum Erhalten von Sonnenuntergangszeiten:
<?php
// Definieren Sie den Breitengrad und die Länge jeder Stadt
$cities = [
"Beijing" => ['latitude' => 39.9042, 'longitude' => 116.4074],
"New York" => ['latitude' => 40.7128, 'longitude' => -74.0060],
"London" => ['latitude' => 51.5074, 'longitude' => -0.1278]
];
// Aktueller Zeitstempel
$current_time = time();
// Bewahren Sie die Sonnenuntergangszeit jeder Stadt auf
$sunset_times = [];
foreach ($cities as $city => $coords) {
// Holen Sie sich die Sonnenuntergangszeit für jede Stadt,Format als Zeitstempel
$sunset_timestamp = date_sunset($current_time, SUNFUNCS_RET_TIMESTAMP, $coords['latitude'], $coords['longitude']);
// Laden Sie die Stadt- und Sonnenuntergangszeiten in ein Array auf
$sunset_times[$city] = $sunset_timestamp;
}
// Sortieren Sie die Sonnenuntergangszeiten
asort($sunset_times);
// Ausgabe sortierte Ergebnisse
echo "Sonnenuntergangszeit in jeder Stadt(In Ordnung):\n";
foreach ($sunset_times as $city => $sunset) {
echo $city . " Die Sonnenuntergangszeit ist: " . date("Y-m-d H:i:s", $sunset) . "\n";
}
?>
Definieren Sie die Stadt und den Breitengrad und die Länge : Wir geben ein Array für jede Stadt an, die die Informationen der Breite und Länge der Stadt enthält.
Holen Sie sich die aktuelle Zeit : Holen Sie sich den aktuellen Unix -Zeitstempel über Time (), um die Sonnenuntergangszeit zu berechnen.
Schleife für die Sonnenuntergangszeit : Verwenden Sie die Funktion DATE_SUNSET (), um die Sonnenuntergangszeit für jede Stadt zu berechnen. Beachten Sie, dass hier Sunfuncs_ret_timestamp -Format verwendet wird, um einen Zeitstempel für eine einfachere nachfolgende Sortierung zurückzugeben.
Sortieren Sie die Sonnenuntergangszeit : Sortieren Sie Arrays in aufsteigender Reihenfolge nach Sonnenuntergangszeit durch die Funktion asort () .
Ausgabeergebnis : Schließlich wird der Zeitstempel durch die Funktion Date () in ein lesbares Datumszeitformat umgewandelt, und die Sonnenuntergangszeit jeder Stadt wird in der Reihenfolge ausgegeben.
Unter der Annahme, dass die aktuelle Zeit 2025-04-26 beträgt, ähnelt das Ausgabeergebnis nach Ausführen des obigen Codes:
Sonnenuntergangszeit in jeder Stadt(In Ordnung):
New York Die Sonnenuntergangszeit ist: 2025-04-26 19:52:00
London Die Sonnenuntergangszeit ist: 2025-04-26 20:12:00
Beijing Die Sonnenuntergangszeit ist: 2025-04-26 18:45:00
Die bis date_sunset () zurückgegebene Zeit ist UTC-basiert, um sicherzustellen, dass sie in die lokale Zeit umgewandelt wird, wenn das Ergebnis angezeigt wird.
Wenn Sie die Anzeige mehrerer Zeitzonen unterstützen müssen, können Sie die Zeitzone über die Funktion date_default_timezone_set () festlegen.
Die Genauigkeit der Breitengrad- und Längengrad- und Zeitzonen beeinflusst die Genauigkeit der Ergebnisse. Verwenden Sie daher genaue Stadtkoordinaten.