date_sun_info

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

date_sun_infoLiefert ein Array mit Informationen über Sonnenauf- und -untergang sowie Beginn und Ende der Dämmerung

Beschreibung

date_sun_info(int $timestamp, float $latitude, float $longitude): array

Parameter-Liste

timestamp

Ein Unix-Zeitstempel

latitude

Eine geografische Breite in Grad

longitude

Eine geografische Länge in Grad

Rückgabewerte

Gibt bei Erfolg ein Array zurück. Bei einem Fehler wird false zurückgegeben. Die Struktur des Arrays wird in der folgenden Liste beschrieben:

sunrise
Der Zeitstempel des Sonnenaufgangs (Zenitwinkel = 90°35').
sunset
Der Zeitstempel des Sonnenuntergangs (Zenitwinkel = 90°35').
transit
Der Zeitstempel, wenn die Sonne im Zenit steht, d.h. wenn sie ihren höchsten Punkt erreicht hat.
civil_twilight_begin
Der Beginn der bürgerlichen Morgendämmerung (Zenitwinkel = 96°); sie endet bei sunrise.
civil_twilight_end
Das Ende der bürgerlichen Abenddämmerung (Zenitwinkel = 96°); sie beginnt bei sunset.
nautical_twilight_begin
Der Beginn der nautischen Morgendämmerung (Zenitwinkel = 102°); sie endet bei civil_twilight_begin.
nautical_twilight_end
Das Ende der nautischen Abenddämmerung (Zenitwinkel = 102°); sie beginnt bei civil_twilight_end.
astronomical_twilight_begin
Der Beginn der astronomischen Morgendämmerung (Zenitwinkel = 108°); sie endet bei nautical_twilight_begin.
astronomical_twilight_end
Das Ende der astronomischen Abenddämmerung (Zenitwinkel = 108°); sie beginnt bei nautical_twilight_end.

Die Werte der Array-Elemente sind entweder UNIX-Zeitstempel, false, wenn die Sonne den ganzen Tag über unter dem jeweiligen Zenit steht, oder true, wenn die Sonne den ganzen Tag über dem jeweiligen Zenit steht.

Changelog

Version Beschreibung
7.2.0 Die Berechnung wurde korrigiert und bezieht sich nun auf die lokale Mitternacht statt auf die lokale Mittagszeit, was die Ergebnisse leicht verändert.

Beispiele

Beispiel #1 Ein date_sun_info()-Beispiel

<?php
$sun_info 
date_sun_info(strtotime("2006-12-12"), 31.766735.2333);
foreach (
$sun_info as $key => $val) {
    echo 
"$key: " date("H:i:s"$val) . "\n";
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

sunrise: 05:52:11
sunset: 15:41:21
transit: 10:46:46
civil_twilight_begin: 05:24:08
civil_twilight_end: 16:09:24
nautical_twilight_begin: 04:52:25
nautical_twilight_end: 16:41:06
astronomical_twilight_begin: 04:21:32
astronomical_twilight_end: 17:12:00

Beispiel #2 Polarnacht

<?php
var_dump
(date_sun_info(strtotime("2017-12-21"), 900));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(9) {
  ["sunrise"]=>
  bool(false)
  ["sunset"]=>
  bool(false)
  ["transit"]=>
  int(1513857490)
  ["civil_twilight_begin"]=>
  bool(false)
  ["civil_twilight_end"]=>
  bool(false)
  ["nautical_twilight_begin"]=>
  bool(false)
  ["nautical_twilight_end"]=>
  bool(false)
  ["astronomical_twilight_begin"]=>
  bool(false)
  ["astronomical_twilight_end"]=>
  bool(false)
}

Beispiel #3 Mitternachtssonne

<?php
var_dump
(date_sun_info(strtotime("2017-06-21"), 900));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

array(9) {
  ["sunrise"]=>
  bool(true)
  ["sunset"]=>
  bool(true)
  ["transit"]=>
  int(1498046510)
  ["civil_twilight_begin"]=>
  bool(true)
  ["civil_twilight_end"]=>
  bool(true)
  ["nautical_twilight_begin"]=>
  bool(true)
  ["nautical_twilight_end"]=>
  bool(true)
  ["astronomical_twilight_begin"]=>
  bool(true)
  ["astronomical_twilight_end"]=>
  bool(true)
}

Siehe auch

  • date_sunrise() - Liefert die Uhrzeit des Sonnenaufgangs für den angegebenen Tag und Ort
  • date_sunset() - Liefert die Uhrzeit des Sonnenuntergangs für den angegebenen Tag und Ort

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Total Commander 11.00 (final) ist verfügbar!

Total Commander, ein beliebter Datei-Manager, hat kürzlich seine neueste Version, 11.00, veröffentlicht. Mit einer Vielzahl von neuen Funktionen und Korrekturen bietet diese Version den Benutzern ein verbessertes und optimiertes Erlebnis. ...

admin

Autor : admin
Kategorie: Software-Updates

Welche Technologien sollte ein PHP Programmierer beherrschen?

In der heutigen digitalen Welt ist die Rolle eines PHP Programmierers von großer Bedeutung. ...

admin

Autor : admin
Kategorie: Dies und Das

PHPUnit in der Version 10 erschienen

PHPUnit in der Version 10 erschienen

Das beliebte Testframeworks PHPUnit ist in der Version 10 erschienen und steht zum Download bereit ...

TheMax

Autor : TheMax
Kategorie: Software & Web-Development

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Schwarzes Brett/ News Script

mal ebend auf die Schnelle:

Vorname, Name
Geschrieben von leoa69 am 30.09.2023 09:53:46
Forum: PHP Developer Forum
Fragen zu PHP-Syntax

Dankeschön, deine Erklärungen lassen mich Beides schon einmal besser nachvollziehen. Bei 2) hatte ich mittlerweile etwas zu Namensräumen gefund ...

Geschrieben von BrotherJ am 12.09.2023 08:05:17
Forum: PHP Developer Forum
Datei Prüfung - Alles was zwischen /* und */ steht, einfärben.

In deinem Beispiel endet der Kommentar in Zeile 11. Die Zeilen 12 bis 16 sind nicht mehr eingeschlossen, denn Kommentarzeichen kann man so nicht v ...

Geschrieben von reddighamburg am 12.09.2023 00:57:14
Forum: PHP Developer Forum
Fragen zu PHP-Syntax

zu 1) Hier geht es um Typensicherheit. Das : Response sagt nichts anderes, als dass der zurückgegebene Wert in jedem Fall vom Typ Response ist. A ...

Geschrieben von reddighamburg am 12.09.2023 00:31:02
Forum: PHP Developer Forum