W3docs

date_sunrise()

A função date_sunrise() do PHP calcula o horário do nascer do sol para uma data e localização específicas. Saiba mais sobre seu uso e alternativas.

A Importância da Função date_sunrise() do PHP

Nota: A função date_sunrise() foi depreciada no PHP 5.2.0 e removida no PHP 8.0.0. O conteúdo abaixo é fornecido apenas para versões legadas do PHP.

PHP é uma linguagem de programação amplamente utilizada para criar aplicações web dinâmicas. A função date_sunrise() é uma das muitas funções integradas disponíveis no PHP. Ela é usada para calcular o horário do nascer do sol para uma data e localização específicas.

A função date_sunrise() é uma ferramenta essencial para desenvolvedores que criam aplicações que requerem horários de nascer do sol. Essa função pode ser usada para calcular o horário do nascer do sol para qualquer localização na Terra, com base em sua latitude e longitude.

Sintaxe

date_sunrise(
    int $timestamp,
    int $returnFormat = SUNFUNCS_RET_STRING,
    ?float $latitude = null,
    ?float $longitude = null,
    ?float $zenith = null,
    ?float $utcOffset = null
): string|int|float|false

Como Usar a Função date_sunrise() do PHP

A função date_sunrise() recebe um parâmetro obrigatório e até cinco opcionais.

ParâmetroDescrição
timestampO timestamp Unix do dia para o qual você deseja o horário do nascer do sol.
returnFormatUm dos seguintes: SUNFUNCS_RET_STRING (uma string no formato hh:mm), SUNFUNCS_RET_DOUBLE (horas como float) ou SUNFUNCS_RET_TIMESTAMP (um timestamp Unix).
latitudeLatitude em graus. O padrão é a configuração INI date.default_latitude.
longitudeLongitude em graus. O padrão é a configuração INI date.default_longitude.
zenithO ângulo entre o centro do sol e o horizonte. O padrão é date.sunrise_zenith (90°50′).
utcOffsetDeslocamento em relação ao UTC em horas. Usado apenas com SUNFUNCS_RET_STRING e SUNFUNCS_RET_DOUBLE.

Valor de retorno: o horário do nascer do sol no returnFormat escolhido, ou false em caso de falha (por exemplo, em regiões polares onde o sol não nasce no dia especificado).

Para usar a função, primeiro obtenha as coordenadas de latitude e longitude da localização desejada — ferramentas online como Google Maps ou GeoNames facilitam essa tarefa. Em seguida, chame date_sunrise() com essas coordenadas e ela retornará o horário do nascer do sol para a localização e data especificadas.

A função complementar date_sunset() calcula os horários do pôr do sol com uma assinatura idêntica.

Exemplos de Uso da Função date_sunrise() do PHP

Aqui estão alguns exemplos de uso da função date_sunrise():

Exemplo 1: Calculando o horário do nascer do sol para hoje em uma localização específica

php— editable, runs on the server

Exemplo 2: Calculando o horário do nascer do sol para uma data específica em uma localização específica. Aqui, strtotime() converte uma data legível por humanos no timestamp Unix que date_sunrise() espera.

<?php
// Note: date_sunrise() was removed in PHP 8.0.0. This code is for legacy PHP versions only.
$date = "2023-03-03";
$timestamp = strtotime($date);
$latitude = 40.7128; // New York City latitude
$longitude = -74.0060; // New York City longitude
$zenith = ini_get("date.sunrise_zenith");
$sunrise_time = date_sunrise($timestamp, SUNFUNCS_RET_STRING, $latitude, $longitude, $zenith);

if ($sunrise_time !== false) {
    echo "The sunrise time for New York City on $date is $sunrise_time.";
} else {
    echo "Failed to calculate sunrise time.";
}
?>

Alternativas Modernas para PHP 8+

Como o PHP 8.0 removeu os cálculos astronômicos integrados, as aplicações modernas geralmente recorrem a bibliotecas dedicadas ou APIs externas. As abordagens mais comuns incluem:

  • Pacotes Composer como geo-sun ou sunrise-sunset para cálculos locais sem dependências externas.
  • APIs externas como Sunrise-Sunset.org ou Open-Meteo para dados confiáveis e atualizados sem necessidade de manter algoritmos locais.

Diagrama Mermaid: Processo de Cálculo do Nascer do Sol

graph LR;
    A[Enter latitude and longitude coordinates] --> B{Call date_sunrise() function};
    B -- Returns the sunrise time --> C[Display sunrise time];

Conclusão

Em conclusão, a função date_sunrise() calcula o horário do nascer do sol para uma localização e data específicas em versões legadas do PHP. Como ela foi removida no PHP 8.0, projetos modernos devem recorrer a um pacote Composer ou a uma API externa. Para manipulação de datas e horários relacionados, consulte date(), mktime() e date_default_timezone_set().

Prática

Prática
O que a função date_sunrise() do PHP faz?
O que a função date_sunrise() do PHP faz?
Was this page helpful?