date_sun_info

(PHP 5 >= 5.1.2, PHP 7)

date_sun_infoReturns an array with information about sunset/sunrise and twilight begin/end

Beschreibung

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

Parameter-Liste

timestamp

Unix timestamp.

latitude

Latitude in degrees.

longitude

Longitude in degrees.

Rückgabewerte

Returns array on successIm Fehlerfall wird FALSE zurückgegeben.. The structure of the array is detailed in the following list:

sunrise
The timestamp of the sunrise (zenith angle = 90°35').
sunset
The timestamp of the sunset (zenith angle = 90°35').
transit
The timestamp when the sun is at its zenith, i.e. has reached its topmost point.
civil_twilight_begin
The start of the civil dawn (zenith angle = 96°). It ends at sunrise.
civil_twilight_end
The end of the civil dusk (zenith angle = 96°). It starts at sunset.
nautical_twilight_begin
The start of the nautical dawn (zenith angle = 102°). It ends at civil_twilight_begin.
nautical_twilight_end
The end of the nautical dusk (zenith angle = 102°). It starts at civil_twilight_end.
astronomical_twilight_begin
The start of the astronomical dawn (zenith angle = 108°). It ends at nautical_twilight_begin.
astronomical_twilight_end
The end of the astronomical dusk (zenith angle = 108°). It starts at nautical_twilight_end.

The values of the array elements are either UNIX timestamps, FALSE if the sun is below the respective zenith for the whole day, or TRUE if the sun is above the respective zenith for the whole day.

Beispiele

Beispiel #1 A date_sun_info() example

<?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 Polar night

<?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 Midnight sun

<?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() - Returns time of sunrise for a given day and location
  • date_sunset() - Returns time of sunset for a given day and location