The date_sun_info() function accepts time, latitudes and longitudes of a location and gives information about sunrise/sunset and, begin/end of the twilight, in the given location.
date_sun_info($timestamp, $latitude, $longitude)
Sr.No | Parameter & Description |
---|---|
1 |
timestamp (Mandatory) This specifies a timestamp. |
2 |
latitude (Mandatory) This specifies latitude of a location. |
3 |
longitude (Mandatory) This specifies longitude of a location. |
PHP date_sun_info() function returns an array containing the information about sunrise/sunset and, begin/end of the twilight for the given day in the specified location.
This function was first introduced in PHP Version 5.2.0 and, works with all the later versions.
Following example demonstrates the usage of the date_sun_info() function −
<?php $sun_info = date_sun_info("02-17-2012", 20.5937, 78.9629); print_r($sun_info); ?>
This will produce following result −
Array ( [sunrise] => 4818 [sunset] => 44087 [transit] => 24453 [civil_twilight_begin] => 3381 [civil_twilight_end] => 45524 [nautical_twilight_begin] => 1729 [nautical_twilight_end] => 47176 [astronomical_twilight_begin] => 98 [astronomical_twilight_end] => 48807 )
Following example gets the info on a the same date at different location −
<?php $sun_info = date_sun_info("02-17-2012", 37.0902, 95.7129); print_r($sun_info); ?>
This will produce following result −
Array ( [sunrise] => 3038 [sunset] => 37825 [transit] => 20431 [civil_twilight_begin] => 1307 [civil_twilight_end] => 39556 [nautical_twilight_begin] => -642 [nautical_twilight_end] => 41505 [astronomical_twilight_begin] => -2538 [astronomical_twilight_end] => 43402 )
Following example gets the info at location in different dates −
<?php $time = "2000-01-01"; $latitude = 31.7667; $longitude = 35.2333; print_r(date_sun_info($time, $latitude, $longitude)); $time = "2010-01-01"; print_r(date_sun_info($time, $latitude, $longitude)); $time = "2020-01-01"; print_r(date_sun_info($time, $latitude, $longitude)); ?>
This will produce following result −
Array ( [sunrise] => 16742 [sunset] => 53161 [transit] => 34951 [civil_twilight_begin] => 15138 [civil_twilight_end] => 54765 [nautical_twilight_begin] => 13316 [nautical_twilight_end] => 56587 [astronomical_twilight_begin] => 11534 [astronomical_twilight_end] => 58369 ) Array ( [sunrise] => 16742 [sunset] => 53161 [transit] => 34951 [civil_twilight_begin] => 15138 [civil_twilight_end] => 54765 [nautical_twilight_begin] => 13316 [nautical_twilight_end] => 56587 [astronomical_twilight_begin] => 11534 [astronomical_twilight_end] => 58369 ) Array ( [sunrise] => 16742 [sunset] => 53161 [transit] => 34951 [civil_twilight_begin] => 15138 [civil_twilight_end] => 54765 [nautical_twilight_begin] => 13316 [nautical_twilight_end] => 56587 [astronomical_twilight_begin] => 11534 [astronomical_twilight_end] => 58369 )
<?php $sun_info = date_sun_info(strtotime("2017-07-12"), 20.5937, 78.9629); foreach ($sun_info as $key => $val) { echo "$key: " . date("H:i:s", $val) . "\n"; } ?>
This will produce following result −
sunrise: 00:11:03 sunset: 13:28:33 transit: 06:49:48 civil_twilight_begin: 23:46:45 civil_twilight_end: 13:52:51 nautical_twilight_begin: 23:17:48 nautical_twilight_end: 14:21:47 astronomical_twilight_begin: 22:47:55 astronomical_twilight_end: 14:51:41