Ennesimo giorno settimanale dopo una data
Dal lunedì 18 marzo 2024, il primo lunedì successivo è il 25 marzo, non lo stesso giorno, e il secondo è il 1 aprile. Scelga una data, un giorno della settimana e l'occorrenza che le serve per trasformare una regola ricorrente in una data esatta. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Data
- 2024-03-15
- Giorno della settimana
- Monday
- N
- 3
- Risultato
- 2024-04-01
- Giorni dopo
- 17
- Giorno della settimana di base
- Friday
- Giorno della settimana risultante
- Monday
Questo calcolatore trasforma una regola di ricorrenza precisa in una data univoca. Inserisca una data ISO reale nel formato YYYY-MM-DD, scelga un giorno della settimana in inglese e indichi l’occorrenza futura desiderata. La ricerca parte rigorosamente dopo la data fornita: se base e obiettivo sono lunedì, la prima occorrenza è il lunedì seguente. Il calcolo usa interi gregoriani, senza JavaScript Date, orologio di sistema, impostazioni locali, rete o casualità. Il risultato rimane stabile per automazioni UTC, test, calendari e report.
Comprendere la regola rigorosamente successiva
La parola rigorosamente determina il comportamento: la data ISO fornita è un confine e non può mai essere restituita. Se la base è lunedì 2024-03-18 e anche l’obiettivo è lunedì, il primo risultato è 2024-03-25 e il secondo 2024-04-01. Quando i giorni differiscono, il motore avanza della minima distanza positiva fino all’obiettivo e aggiunge sette giorni per ogni occorrenza ulteriore.
In questo modo sparisce l’ambiguità tra «a partire da» e «dopo». La risposta include base normalizzata, nome canonico, ordine richiesto, data ottenuta, distanza e componenti civili. Non vengono saltati fine settimana o festività e il fuso del dispositivo non influisce.
Per regole inclusive, giorni lavorativi o festività, Lei deve scegliere uno strumento specifico. Qui i tre input producono una sola risposta matematica.
Fornire data, giorno e occorrenza validi
Invii i campi obbligatori date, weekday e n. date deve contenere quattro cifre per l’anno, due per il mese e due per il giorno, separate da trattini, e rappresentare una vera data gregoriana. 2024-02-29 è valida, 2023-02-29 no. Gli anni ammessi vanno da 0001 a 9999 e anche il risultato deve restare nell’intervallo. weekday accetta i nomi inglesi da Monday a Sunday e abbreviazioni come Mon, Tue, Wed, Thu, Fri, Sat e Sun, ignorando maiuscole e minuscole.
Indici numerici e nomi localizzati vengono rifiutati. n è un intero positivo da 1 a 100000; frazioni, zero, negativi, NaN e Infinity falliscono. Fallisce anche un risultato oltre 9999-12-31.
Automatizzare con aritmetica gregoriana deterministica
Il risolutore verifica lunghezze dei mesi e anni bisestili gregoriani, compresa l’eccezione dei secoli. Converte poi la data civile in un numero intero di giorni. Il giorno settimanale deriva da quel numero e da una mappa fissa.
La distanza dall’obiettivo è calcolata modulo sette, ma zero diventa sette per imporre la posteriorità rigorosa. Si aggiunge sette per n meno uno e il numero finale viene riconvertito in data. Il tempo rimane costante anche con n grande, perché non si scorrono le date intermedie.
Il codice non crea JavaScript Date, non legge l’orologio e non consulta servizi o fusi. I risultati sono riproducibili in browser, worker e test. L’output è una data civile ISO, non un timestamp; il sistema a valle può associarle consapevolmente ora e zona proprie.
Casi d'uso
Programmare una revisione ricorrente
Trovi il terzo venerdì dopo una scadenza e salvi la data ISO nel flusso di pianificazione.
Creare dati di test stabili
Generi casi deterministici senza bloccare l’orologio né dipendere dal fuso della macchina.
Fissare date di osservazione e report
Risolva il giorno di ordine n dopo una misura per audit e pipeline ripetibili.
Domande frequenti
La data base conta se coincide già con il giorno scelto?
No. Il calcolo parte rigorosamente dopo. Se entrambi sono lunedì, la prima occorrenza è sette giorni più tardi.
Quali valori può usare per n?
Usi un intero positivo da 1 a 100000. Frazioni, zero e numeri negativi vengono rifiutati.
Viene usato il Suo fuso orario?
No. Il calcolo tratta date civili gregoriane e non consulta fuso né orologio di sistema.
Festività o giorni non lavorativi vengono saltati?
No. Conta ogni settimana civile. Un calendario lavorativo richiede un’altra capacità.
Come trovo il terzo lunedì dopo una data?
Inserisca la data, scelga lunedì e chieda l'occorrenza 3. Dal venerdì 15 marzo 2024 la risposta è il 1 aprile 2024, cioè 17 giorni dopo, perché il primo lunedì successivo è il 18.
Strumenti correlati
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/nth-weekday-from-date \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-03-15","weekday":"Monday","n":3}'const res = await fetch("https://api.kit.forhosting.com/date/nth-weekday-from-date", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-03-15",
"weekday": "Monday",
"n": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/nth-weekday-from-date",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-03-15",
"weekday": "Monday",
"n": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/nth-weekday-from-date", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-03-15","weekday":"Monday","n":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-03-15","weekday":"Monday","n":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/nth-weekday-from-date", 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": "2024-03-15",
"weekday": "Monday",
"n": 3
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.nth_weekday_from_date",
"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. |
Note tecniche
Può eseguirlo gratis nel browser oppure chiamare l’API al costo di $0.002 per elemento valido.
Fornire data, giorno e occorrenza validi
Un input errato produce invalid_input senza correzioni silenziose. Ogni elemento API valido costa $0.002; il browser usa lo stesso risolutore puro.
Domande tecniche
Quanto costa una richiesta API?
Ogni elemento API valido costa $0.002. Lei può anche usare gratis lo stesso risolutore nel browser.