date_sun_info

(PHP 5 >= 5.1.2, PHP 7)

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

说锟斤拷

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

锟斤拷锟斤拷

time

Timestamp.

latitude

Latitude in degrees.

longitude

Longitude in degrees.

锟斤拷锟斤拷值

Returns array on success 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE. The structure of the array is detailed in the following list:

sunrise
The time of the sunrise (zenith angle = 90锟斤拷35').
sunset
The time of the sunset (zenith angle = 90锟斤拷35').
transit
The time 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.

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
5.2.2 The order of latitude and longitude has been swapped.

锟斤拷锟斤拷

Example #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";
}
?>

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

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

Example #2 Polar night

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

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

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)
}

Example #3 Midnight sun

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

锟斤拷锟斤拷锟斤拷锟教伙拷锟斤拷锟斤拷锟�

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)
}

锟轿硷拷

  • date_sunrise() - 锟斤拷锟截革拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷氐锟斤拷锟秸筹拷时锟斤拷
  • date_sunset() - 锟斤拷锟截革拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷氐锟斤拷锟斤拷锟斤拷时锟斤拷