Bei der Verwendung von PHP für Datum und Uhrzeit ist die Funktion DATE_SUNSET ein sehr nützliches Tool, das die Sonnenuntergangszeit basierend auf einem bestimmten Datum, Ort (Breitengrad und Längengrad) zurückgeben kann. Einige Entwickler stellen jedoch möglicherweise fest, dass die zurückgegebene Sonnenuntergangszeit nicht mit der tatsächlichen Situation übereinstimmt, wenn die Funktion date_sunset aufgerufen wird. Dann ist die Wurzel dieses Problems normalerweise das Vergessen, den Breitengrad und die Länge zu setzen. Dieser Artikel wird dieses Problem im Detail analysieren und eine Lösung bereitstellen.
DATE_SUNSET ist eine PHP-integrierte Funktion, die die Sonnenuntergangszeit eines bestimmten Ortes zurückgibt. Die grundlegende Verwendung dieser Funktion ist wie folgt:
date_sunset($timestamp, $format, $latitude, $longitude, $zenith, $utc_offset);
$ timestamp : Gibt den Zeitstempel an, um die Sonnenuntergangszeit zu berechnen.
$ format : Das zurückgegebene Zeitformat, normalerweise date_rfc822 , Date_atom usw.
$ Breite : Der Breitengrad des Standorts (erforderlich).
$ Länge : Länge des Standorts (erforderlich).
$ zenith : Definiert den Winkel der Sonne und des Horizonts, normalerweise mit 90,5 .
$ UTC_OFFSET : Zeitzone -Offset (optional).
Manchmal ignorieren Entwickler die Parameter mit Breiten- und Längengrad, wenn Date_sunset aufgerufen wird, wodurch die Funktion eine Fehlerzeit zurückgibt. Dies liegt daran, dass der PHP, wenn der Breitengrad und der Längengrad nicht korrekt eingestellt sind, standardmäßig 0,0 (d. H. Der Schnittpunkt des Äquators und Greenwich) als Ort verwendet, wodurch ein Ergebnis berechnet wird, das vollständig mit der Sonnenuntergangszeit des Zielorts nicht widerlegt wird.
Beispielsweise erzeugt der folgende Code einen Fehler mit Sonnenuntergang:
<?php
$timestamp = time();
$format = DATE_RFC822;
$latitude = 0; // Ignorieren Sie die spezifische Einstellung des Breitengrads
$longitude = 0; // Ignorieren Sie die spezifische Längengradeinstellung
$sunset = date_sunset($timestamp, $format, $latitude, $longitude);
echo $sunset;
?>
Die Sonnenuntergangszeit, die Sie zurückkehren, kann sich sehr von dem unterscheiden, was Sie tatsächlich in Ihrer Nähe sind. Um diesen Fehler zu vermeiden, müssen die Parameter Breiten- und Längengradparameter korrekt festgelegt werden.
Damit DATE_SUNSET die richtige Sonnenuntergangszeit zurückgibt, müssen Sie den richtigen Breitengrad und Längengrad entsprechend dem spezifischen Ort festlegen. Sie können das Problem lösen, indem Sie den Schritten folgen:
Holen Sie sich Breitengrad und Längengrad : Bestimmen Sie zuerst den Breitengrad und Längengrad Ihres Standorts. Angenommen, Sie befinden sich in Peking, beträgt der Breitengrad und die Länge von Peking etwa 39,9042 ° N und Längengrad 116,4074 ° E.
Legen Sie den Breitengrad und Längengrad fest, wenn Sie die Funktion date_sunset aufrufen : Übergeben Sie diese Breitengrad und Länge an die Funktion DATE_SUNSET , um die richtige Sonnenuntergangszeit zu erhalten.
<?php
$timestamp = time();
$format = DATE_RFC822;
$latitude = 39.9042; // Pekings Breite
$longitude = 116.4074; // Länge in Peking
$sunset = date_sunset($timestamp, $format, $latitude, $longitude);
echo $sunset;
?>
Auf diese Weise ist die Sonnenuntergangszeit, in der Sie zurückkehren, die tatsächliche Sonnenuntergangszeit Ihres Standorts.
Wenn Sie sich über den Breitengrad und die Länge eines bestimmten Ortes nicht sicher sind, können Sie ihn über einige Online -Tools oder APIs erhalten. Beispielsweise können Sie mit Google Maps oder anderen Kartendiensten den Breitengrad und die Länge verschiedener Orte problemlos abfragen. Darüber hinaus können Sie einige kostenlose API -Dienste verwenden, um geografische Koordinaten zu erhalten, wie z. B.:
Geocode -API (Hinweis: Bitte ersetzen Sie den Domänennamen dieser URL durch m66.net )
Diese API kann Ihnen helfen, den entsprechenden Breitengrad und Längengrad gemäß dem Standortnamen zurückzugeben. Sie können es nach Bedarf nennen, um den genauen Breitengrad und die Länge des Zielortes zu erhalten.
Wenn Sie die Funktion date_sunset verwenden, stellen Sie sicher, dass Sie den Breitengrad und die Länge korrekt festgelegt haben. Andernfalls kann die Rückgabezeit mit der tatsächlichen Situation nicht übereinstimmen. Indem Sie genaue Daten der Breiten- und Längengrad -Daten erhalten und übergeben, können Sie dieses Problem lösen und die genaue Sonnenuntergangszeit erhalten.
Ich hoffe, dieser Artikel kann Ihnen dabei helfen, das Problem der falschen Rückgabezeit des DATE_SUNSET zu lösen, das durch Vergessen von Breitengrad und Längengrad verursacht wird. Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht im Kommentarbereich und wir werden so schnell wie möglich antworten.