Durata della luce diurna per data e latitudine
Questo calcolatore stima per quante ore il Sole rimane sopra l’orizzonte convenzionale in una data e a una latitudine specifiche.
Esegui gratis nel browser
Utilizza solo i valori forniti, applica una formula standard di declinazione solare e angolo orario e non consulta orologi né servizi esterni. Il risultato è adatto a pianificazione, confronti, didattica ed elaborazione dati quando un’approssimazione riproducibile conta più di un almanacco astronomico locale.
Inserisca una data esatta e la latitudine geografica
Indichi la data nel rigoroso formato ISO, con quattro cifre per l’anno e due per mese e giorno, per esempio 2026-06-21. Inserisca quindi una latitudine decimale da -90 a 90: positiva a nord dell’equatore e negativa a sud. Longitudine e fuso orario non servono, perché si calcola l’intervallo tra alba e tramonto teorici, non l’ora locale. Il calendario gregoriano, comprese le regole bisestili, viene convalidato e le date impossibili sono rifiutate. Il giorno ordinale deriva soltanto da operazioni aritmetiche, quindi lo stesso input produce sempre la stessa risposta. Scelga una latitudine rappresentativa del luogo e non consideri l’eccessiva precisione delle coordinate equivalente a una previsione da osservatorio.
Comprenda l’approssimazione solare
La data viene convertita nel giorno dell’anno per stimare la declinazione solare, cioè l’angolo stagionale del Sole rispetto all’equatore terrestre. Si applica poi la relazione standard dell’angolo orario dell’alba alla latitudine. Alba e tramonto adottano un’altitudine di -0.833 gradi, correzione convenzionale per rifrazione e raggio visibile del Sole. L’angolo diventa una durata su 24 ore, arrotondata a quattro decimali. Se il Sole non scende sotto l’orizzonte convenzionale, il risultato è 24 ore con giorno polare; se non sale, è zero con notte polare. Il modello non include rilievi, edifici, pressione, temperatura o effemeridi complete.
Usi il risultato con aspettative corrette
Consideri daylight_hours un valore coerente per pianificare, non una garanzia di sole visibile. Le nuvole non cambiano la durata astronomica, mentre il terreno può nascondere il Sole. Alle alte latitudini calcoli ogni data, perché piccoli cambiamenti possono incidere molto. day_of_year esplicita la posizione nel calendario e condition distingue i casi normali da quelli polari. Senza longitudine non vengono restituiti orari locali. Il metodo deterministico è utile per automazioni, test, lezioni e pianificazione. Conservi data e latitudine con il risultato per renderlo riproducibile. Per navigazione, sicurezza, osservanze religiose o misure scientifiche precise, consulti effemeridi locali autorevoli.
Casi d'uso
Confrontare la luce stagionale
Calcoli più date alla stessa latitudine per osservare il cambiamento tra inverno ed estate.
Pianificare attività all’aperto
Stimi la finestra di luce per viaggi, fotografia, edilizia, giardinaggio o lavoro sul campo.
Arricchire dati di calendario
Aggiunga durata riproducibile e condizioni polari a registrazioni geografiche datate.
Domande frequenti
Quanto costa un calcolo?
Una richiesta API costa $0.002. Il calcolatore nel browser esegue localmente la stessa logica deterministica.
Perché non viene richiesta la longitudine?
La longitudine cambia l’orario di alba e tramonto, ma non la loro distanza approssimativa per data e latitudine.
È un’effemeride astronomica esatta?
No. È un’approssimazione standard che non include terreno, altitudine, meteo o effemeridi solari complete.
Come vengono gestiti gli anni bisestili?
Si applicano le regole gregoriane: divisibilità per quattro, esclusi i secoli non divisibili per 400.
Che cosa significano giorno e notte polari?
La formula non trova un tramonto o un’alba convenzionale e restituisce 24 oppure zero ore di luce.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/date/day-length-approx \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-06-21","lat":51.5074}'const res = await fetch("https://api.kit.forhosting.com/date/day-length-approx", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-06-21",
"lat": 51.5074
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/day-length-approx",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-06-21",
"lat": 51.5074
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/day-length-approx", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-06-21","lat":51.5074}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-06-21","lat":51.5074}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/day-length-approx", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"date": "2026-06-21",
"lat": 51.5074
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.day_length_approx",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |