Função PHP date_sun_info ()

Definição e Uso

o date_sun_info() A função aceita o tempo, latitudes e longitudes de um local e fornece informações sobre o nascer / pôr do sol e, início / fim do crepúsculo, no local determinado.

Sintaxe

date_sun_info($timestamp, $latitude, $longitude)

Parâmetros

Sr. Não Parâmetro e Descrição
1

timestamp (Mandatory)

Isso especifica um carimbo de data / hora.

2

latitude (Mandatory)

Isso especifica a latitude de um local.

3

longitude (Mandatory)

Isso especifica a longitude de um local.

Valores Retornados

A função PHP date_sun_info () retorna um array contendo as informações sobre o amanhecer / pôr do sol e, início / fim do crepúsculo de um determinado dia no local especificado.

Versão PHP

Esta função foi introduzida pela primeira vez no PHP versão 5.2.0 e funciona com todas as versões posteriores.

Exemplo

O exemplo a seguir demonstra o uso da função date_sun_info () -

<?php
   $sun_info = date_sun_info("02-17-2012", 20.5937, 78.9629);
   print_r($sun_info);
?>

Isso produzirá o seguinte resultado -

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
)

Exemplo

O exemplo a seguir obtém as informações na mesma data em local diferente -

<?php
   $sun_info = date_sun_info("02-17-2012", 37.0902, 95.7129);
   print_r($sun_info);
?>

Isso produzirá o seguinte resultado -

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
)

Exemplo

O exemplo a seguir obtém as informações no local em datas diferentes -

<?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));
?>

Isso produzirá o seguinte resultado -

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
)

Exemplo

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

Isso produzirá o seguinte resultado -

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