date_sunrise()
Die PHP-Funktion date_sunrise() berechnet die Sonnenaufgangszeit für einen bestimmten Ort und ein Datum – nur für ältere PHP-Versionen.
Die Bedeutung der PHP-Funktion date_sunrise()
Hinweis: Die Funktion date_sunrise() wurde in PHP 5.2.0 als veraltet markiert und in PHP 8.0.0 entfernt. Der folgende Inhalt gilt ausschließlich für ältere PHP-Versionen.
PHP ist eine weit verbreitete Programmiersprache, die häufig zur Erstellung dynamischer Webanwendungen eingesetzt wird. Die Funktion date_sunrise() ist eine der vielen in PHP integrierten Funktionen. Sie wird verwendet, um die Sonnenaufgangszeit für ein bestimmtes Datum und einen bestimmten Ort zu berechnen.
Die Funktion date_sunrise() ist ein wichtiges Werkzeug für Entwickler, die Anwendungen erstellen, die Sonnenaufgangszeiten benötigen. Sie kann die Sonnenaufgangszeit für jeden Ort auf der Erde anhand von Breiten- und Längengrad berechnen.
Syntax
date_sunrise(
int $timestamp,
int $returnFormat = SUNFUNCS_RET_STRING,
?float $latitude = null,
?float $longitude = null,
?float $zenith = null,
?float $utcOffset = null
): string|int|float|falseVerwendung der PHP-Funktion date_sunrise()
Die Funktion date_sunrise() erwartet einen obligatorischen Parameter und bis zu fünf optionale.
| Parameter | Beschreibung |
|---|---|
timestamp | Der Unix-Timestamp des Tages, für den die Sonnenaufgangszeit ermittelt werden soll. |
returnFormat | Eines von SUNFUNCS_RET_STRING (ein hh:mm-string), SUNFUNCS_RET_DOUBLE (Stunden als Float) oder SUNFUNCS_RET_TIMESTAMP (ein Unix-Timestamp). |
latitude | Breitengrad in Grad. Standardwert ist die INI-Einstellung date.default_latitude. |
longitude | Längengrad in Grad. Standardwert ist die INI-Einstellung date.default_longitude. |
zenith | Der Winkel zwischen dem Sonnenmittelpunkt und dem Horizont. Standardwert ist date.sunrise_zenith (90°50′). |
utcOffset | Versatz von UTC in Stunden. Wird nur mit SUNFUNCS_RET_STRING und SUNFUNCS_RET_DOUBLE verwendet. |
Rückgabewert: Die Sonnenaufgangszeit im gewählten returnFormat oder false bei einem Fehler (z. B. in polaren Regionen, in denen die Sonne am angegebenen Tag nicht aufgeht).
Um die Funktion zu verwenden, ermitteln Sie zunächst die Breiten- und Längengradkoordinaten des gewünschten Ortes – Online-Tools wie Google Maps oder GeoNames helfen dabei. Rufen Sie dann date_sunrise() mit diesen Koordinaten auf, und die Funktion gibt die Sonnenaufgangszeit für den angegebenen Ort und das Datum zurück.
Die zugehörige Funktion date_sunset() berechnet Sonnenuntergangszeiten mit einer identischen Signatur.
Beispiele zur Verwendung der PHP-Funktion date_sunrise()
Im Folgenden finden Sie einige Beispiele zur Verwendung der Funktion date_sunrise():
Beispiel 1: Berechnung der Sonnenaufgangszeit für heute an einem bestimmten Ort
Beispiel 2: Berechnung der Sonnenaufgangszeit für ein bestimmtes Datum an einem bestimmten Ort. Hier konvertiert strtotime() ein menschenlesbares Datum in den Unix-Timestamp, den date_sunrise() erwartet.
<?php
// Note: date_sunrise() was removed in PHP 8.0.0. This code is for legacy PHP versions only.
$date = "2023-03-03";
$timestamp = strtotime($date);
$latitude = 40.7128; // New York City latitude
$longitude = -74.0060; // New York City longitude
$zenith = ini_get("date.sunrise_zenith");
$sunrise_time = date_sunrise($timestamp, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith);
if ($sunrise_time !== false) {
echo "The sunrise time for New York City on $date is $sunrise_time.";
} else {
echo "Failed to calculate sunrise time.";
}
?>Moderne Alternativen für PHP 8+
Da PHP 8.0 die eingebauten astronomischen Berechnungen entfernt hat, setzen moderne Anwendungen typischerweise auf dedizierte Bibliotheken oder externe APIs. Verbreitete Ansätze sind:
- Composer-Pakete wie
geo-sunodersunrise-sunsetfür lokale, abhängigkeitsfreie Berechnungen. - Externe APIs wie Sunrise-Sunset.org oder Open-Meteo für zuverlässige, aktuelle Daten ohne Pflege lokaler Algorithmen.
Mermaid-Diagramm: Ablauf der Sonnenaufgangsberechnung
graph LR;
A[Enter latitude and longitude coordinates] --> B{Call date_sunrise() function};
B -- Returns the sunrise time --> C[Display sunrise time];Fazit
Die Funktion date_sunrise() berechnet die Sonnenaufgangszeit für einen bestimmten Ort und ein Datum auf älteren PHP-Versionen. Da sie in PHP 8.0 entfernt wurde, sollten moderne Projekte stattdessen ein Composer-Paket oder eine externe API verwenden. Für verwandte Datums- und Zeitoperationen siehe date(), mktime() und date_default_timezone_set().