W3docs

date_sunrise()

La funzione date_sunrise() di PHP calcola l'orario dell'alba per una data e posizione specifiche. Deprecata in PHP 5.2 e rimossa in PHP 8.0.

L'importanza della funzione PHP date_sunrise()

Nota: La funzione date_sunrise() è stata deprecata in PHP 5.2.0 e rimossa in PHP 8.0.0. Il contenuto seguente è fornito esclusivamente per le versioni legacy di PHP.

PHP è un linguaggio di programmazione ampiamente utilizzato, comunemente impiegato per creare applicazioni web dinamiche. La funzione date_sunrise() è una delle numerose funzioni integrate disponibili in PHP. Questa funzione serve a calcolare l'orario dell'alba per una data e una posizione specifiche.

La funzione date_sunrise() è uno strumento essenziale per gli sviluppatori che realizzano applicazioni che richiedono gli orari dell'alba. Questa funzione può calcolare l'orario dell'alba per qualsiasi posizione sulla Terra, in base alla latitudine e alla longitudine.

Sintassi

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

Come utilizzare la funzione PHP date_sunrise()

La funzione date_sunrise() accetta un parametro obbligatorio e fino a cinque parametri opzionali.

ParametroDescrizione
timestampIl timestamp Unix del giorno per cui si desidera l'orario dell'alba.
returnFormatUno tra SUNFUNCS_RET_STRING (una string nel formato hh:mm), SUNFUNCS_RET_DOUBLE (ore come float) o SUNFUNCS_RET_TIMESTAMP (un timestamp Unix).
latitudeLatitudine in gradi. Il valore predefinito è l'impostazione INI date.default_latitude.
longitudeLongitudine in gradi. Il valore predefinito è l'impostazione INI date.default_longitude.
zenithL'angolo tra il centro del sole e l'orizzonte. Il valore predefinito è date.sunrise_zenith (90°50′).
utcOffsetScostamento dall'UTC in ore. Utilizzato solo con SUNFUNCS_RET_STRING e SUNFUNCS_RET_DOUBLE.

Valore restituito: l'orario dell'alba nel returnFormat scelto, oppure false in caso di errore (ad esempio, nelle regioni polari in cui il sole non sorge nel giorno specificato).

Per utilizzare la funzione, occorre prima ottenere le coordinate di latitudine e longitudine della posizione desiderata — strumenti online come Google Maps o GeoNames rendono questa operazione semplice. Si chiama poi date_sunrise() con quelle coordinate e la funzione restituisce l'orario dell'alba per la posizione e la data specificate.

La funzione correlata date_sunset() calcola gli orari del tramonto con una firma identica.

Esempi di utilizzo della funzione PHP date_sunrise()

Di seguito alcuni esempi di utilizzo della funzione date_sunrise():

Esempio 1: Calcolo dell'orario dell'alba per la data odierna in una posizione specifica

php— editable, runs on the server

Esempio 2: Calcolo dell'orario dell'alba per una data specifica in una posizione specifica. Qui strtotime() converte una data in formato leggibile nel timestamp Unix che date_sunrise() si aspetta.

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

Alternative moderne per PHP 8+

Poiché PHP 8.0 ha rimosso i calcoli astronomici integrati, le applicazioni moderne si affidano tipicamente a librerie dedicate o API esterne. Gli approcci più comuni includono:

  • Pacchetti Composer come geo-sun o sunrise-sunset per calcoli locali senza dipendenze esterne.
  • API esterne come Sunrise-Sunset.org o Open-Meteo per dati affidabili e aggiornati, senza dover mantenere algoritmi locali.

Diagramma Mermaid: processo di calcolo dell'alba

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

Conclusione

In conclusione, la funzione date_sunrise() calcola l'orario dell'alba per una posizione e una data specifiche nelle versioni legacy di PHP. Poiché è stata rimossa in PHP 8.0, i progetti moderni dovrebbero ricorrere a un pacchetto Composer o a un'API esterna. Per la gestione correlata di date e orari, consultare date(), mktime() e date_default_timezone_set().

Esercitazione

Pratica
Cosa fa la funzione date_sunrise() in PHP?
Cosa fa la funzione date_sunrise() in PHP?
Was this page helpful?