maybe I am wrong, but I think
SUNFUNCS_RET_TIMESTAMP return GMT(0) time
SUNFUNCS_RET_STRING Return local time
SUNFUNCS_RET_DOUBLE Return local time
(PHP 5, PHP 7, PHP 8)
date_sunrise — Liefert die Uhrzeit des Sonnenaufgangs für den angegebenen Tag und Ort
Diese Funktion ist seit PHP 8.1.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieser Funktion wird dringend abgeraten. Stattdessen sollte date_sun_info() verwendet werden.
$timestamp
,$returnFormat
= SUNFUNCS_RET_STRING
,$latitude
= null
,$longitude
= null
,$zenith
= null
,$utcOffset
= null
date_sunrise() gibt die Uhrzeit des Sonnenaufgangs für
den angegebenen Tag (angegeben als timestamp
) und
Ort zurück.
timestamp
Der Zeitstempel des Tages, für den die Uhrzeit des Sonnenaufgangs ermittelt wird.
returnFormat
Konstante | Beschreibung | Beispiel |
---|---|---|
SUNFUNCS_RET_STRING | Gibt das Ergebnis als String zurück | 16:46 |
SUNFUNCS_RET_DOUBLE | Gibt das Ergebnis als Float zurück | 16.78243132 |
SUNFUNCS_RET_TIMESTAMP | Gibt das Ergebnis als Int zurück (Zeitstempel) | 1095034606 |
latitude
Voreingestellt ist Nord, für Süd muss ein negativer Wert übergeben werden. Siehe auch: date.default_latitude
longitude
Voreingestellt ist Ost, für West muss ein negativer Wert übergeben werden. Siehe auch: date.default_longitude
zenith
zenith
ist der Winkel zwischen dem Mittelpunkt
der Sonne und einer Linie senkrecht zur Erdoberfläche. Voreingestellt
ist date.sunrise_zenith
Winkel | Beschreibung |
---|---|
90°50' | Sonnenaufgang: der Punkt, an dem die Sonne sichtbar wird. |
96° | Bürgerliche Dämmerung: wird üblicherweise verwendet, um den Beginn der Morgendämmerung zu kennzeichnen. |
102° | Nautische Dämmerung: der Punkt, an dem der Horizont auf See sichtbar wird. |
108° | Astronomische Dämmerung: Der Punkt, an dem die Sonne beginnt, die Quelle von Licht zu sein. |
utcOffset
Wird in Stunden angegeben.
Wenn returnFormat
SUNFUNCS_RET_TIMESTAMP
ist, wird
utcOffset
ignoriert.
Gibt bei Erfolg die Uhrzeit des Sonnenaufgangs im angegebenen
returnFormat
zurück. Bei einem Fehler wird false
zurückgegeben. Ein
möglicher Grund für einen Fehler ist, dass die Sonne überhaupt nicht
aufgeht, was innerhalb der Polargebiete während eines Teils des Jahres der
Fall ist.
Wenn die Zeitzone ungültig ist, wird bei jedem Aufruf einer Datums/Zeit-Funktion
ein Fehler der Stufe E_WARNING
erzeugt. Siehe auch
date_default_timezone_set()
Version | Beschreibung |
---|---|
8.1.0 | Diese Funktion ist veraltet und wurde durch date_sun_info() ersetzt. |
8.0.0 |
latitude , longitude ,
zenith und utcOffset
sind nun nullable (akzeptieren den null -Wert).
|
Beispiel #1 date_sunrise()-Beispiel
<?php
/* Berechnung der Uhrzeit des Sonnenaufgangs für Lissabon, Portugal
Breitengrad: 38.4 Nord
Längengrad: 9 West
Zenit ~= 90
Zeitverschiebung: +1 GMT
*/
echo date("D M d Y"). ', sunrise time : ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 38.4, -9, 90, 1);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Mon Dec 20 2004, sunrise time : 08:54
Beispiel #2 Kein Sonnenaufgang
<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunrise($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
bool(false)
maybe I am wrong, but I think
SUNFUNCS_RET_TIMESTAMP return GMT(0) time
SUNFUNCS_RET_STRING Return local time
SUNFUNCS_RET_DOUBLE Return local time
If you are working in multiple timezones getting the offset from a date is a little tricky because you need it in hours.
<?php
$time = new DateTime('now', new DateTimeZone('America/Los_Angeles'));
date_sunrise(
$time->getTimestamp(),
SUNFUNCS_RET_TIMESTAMP,
38.4,
-9,
90,
$time->getOffset() / 3600
);
After some searching, I finally found a website that can calculate the sun's zenith. Just look up your city's lat/long (remember, west/south are negative even if it doesn't show where you look up the lat/long) and the time of sunrise/sunset and use this site:
http://solardat.uoregon.edu/cgi-bin/SolarPositionCalculator.cgi
You have to enter in the sunrise/sunset times separately, but it works.
San Diego is:
Lat: 32.73
Long: -117.17
Sunrise Z.: 90.7379
Sunset Z.: 90.8880