• PHP Video Tutorials

PHP date_sun_info() Function



Definition and Usage

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.

Syntax

date_sun_info($timestamp, $latitude, $longitude)

Parameters

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.

Return Values

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.

PHP Version

This function was first introduced in PHP Version 5.2.0 and, works with all the later versions.

Example

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
)

Example

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
)

Example

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
)

Example

<?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
php_function_reference.htm
Advertisements