Display the drop-down list

date_sun_info()

« date_default_timezone_set | date_sunrise »
<?php
// enter a $time or a $timestamp
// select a $city or enter the $latitude and $longitude

// gets a timestamp from a date
date_default_timezone_set(
    
? // string $timezone
);
$timestamp strtotime(
    
 // string $time
);

// gets the latitude and longitude of a city
list($latitude$longitude) = pbx_get_city_lat_lng(
    
? // string $city
);

$array date_sun_info (
    
// int $timestamp
    
// float $latitude
    
  // float $longitude
);

// shows the times in a readable format
$date_sun_info array_map(
    function(
$timestamp) { return date("H:i:s"$timestamp); },
    
$array);
?>
Result
$timestamp = 1493068140
$latitude = 48.850000000000001
$longitude = 2.3500000000000001
$array = [
  
'sunrise' => 1493008863,
  
'sunset' => 1493060172,
  
'transit' => 1493034517,
  
'civil_twilight_begin' => 1493006796,
  
'civil_twilight_end' => 1493062239,
  
'nautical_twilight_begin' => 1493004207,
  
'nautical_twilight_end' => 1493064828,
  
'astronomical_twilight_begin' => 1493001262,
  
'astronomical_twilight_end' => 1493067773,
]
$date_sun_info = [
  
'sunrise' => '06:41:03',
  
'sunset' => '20:56:12',
  
'transit' => '13:48:37',
  
'civil_twilight_begin' => '06:06:36',
  
'civil_twilight_end' => '21:30:39',
  
'nautical_twilight_begin' => '05:23:27',
  
'nautical_twilight_end' => '22:13:48',
  
'astronomical_twilight_begin' => '04:34:22',
  
'astronomical_twilight_end' => '23:02:53',
]
Examples
#1 date_sun_info  (/* $timezone = "Europe/Paris" */
 /* $time = "now" */
 /* $city = "Paris" */
 
$timestamp,
 
$latitude,
 
$longitude)
#2 date_sun_info  (/* $timezone = "UTC" */
 /* $time = "2006-12-12" */
 
$timestamp,
 
31.7667,
 
35.2333)
#3 date_sun_info  (/* $timezone = "UTC" */
 
962409600,
 
50,
 
50)
See also
array_map, date, date_default_timezone_set, date_sunrise, date_sunset, pbx_get_city_lat_lng, strtotime