Inizio e fine settimana
Inserisca un giorno e ottenga il primo e l'ultimo giorno della sua settimana: mercoledì 3 gennaio 2024 cade nella settimana da lunedì 1 a domenica 7 gennaio. La settimana inizia di lunedì o nel giorno che sceglie lei. 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-01-03
- Primo giorno della settimana
- monday
- Indice del primo giorno
- 1
- Giorno della settimana
- wednesday
- Indice del giorno
- 3
- Giorni dall'inizio
- 2
Trovare il primo e l'ultimo giorno di calendario della settimana che contiene una data data è un'esigenza comune in fogli ore, bacheche di sprint, calendari scolastici, periodi di busta paga e dashboard di reporting. Chi cerca un calcolatore di inizio e fine settimana conosce già un giorno all'interno della settimana e ha bisogno dell'intervallo completo da lunedì a domenica o da domenica a sabato senza contare sulle dita. Questo strumento accetta una data di calendario ISO rigorosa in forma anno-mese-giorno, un'impostazione opzionale del primo giorno della settimana (lunedì per impostazione predefinita per settimane stile ISO, o domenica per settimane stile USA), convalida che il giorno esista davvero sul calendario gregoriano inclusi i febbrai bisestili, calcola il giorno della settimana con il metodo di Sakamoto e restituisce l'inizio e la fine inclusivi della settimana come stringhe ISO più i numeri del giorno giuliano e l'offset dall'inizio della settimana. Basi impossibili come il ventinove febbraio in un anno comune falliscono con un chiaro errore di convalida invece di avvolgersi in silenzio.
Come si calcolano inizio e fine della settimana
Inizi con una data di calendario civile scritta come anno, mese e giorno nella forma ISO internazionale con trattini e larghezze fisse così ogni client concorda sugli stessi tre interi. Confermi che l'anno sia in un intervallo gregoriano pratico dall'anno uno a novemila novecentonovantanove, che il mese sia tra uno e dodici, e che il giorno esista per quel mese sotto le regole bisestili gregoriane: un anno è bisestile quando è divisibile per quattro, eccetto che gli anni secolari sono bisestili solo quando sono anche divisibili per quattrocento.
Quella regola rende legale il ventinove febbraio in anni come duemilaventiquattro e duemila, e illegale in duemilaventitré e millenovecento. Poi risolva l'impostazione del primo giorno della settimana: nomi inglesi sunday fino a saturday o indici numerici da zero a sei con domenica uguale a zero e lunedì uguale a uno, con lunedì per impostazione predefinita se omesso così le settimane stile ISO sono il percorso comune. Calcoli il giorno della settimana della data data con il metodo intero di Sakamoto, che non consulta mai l'orologio dell'host.
Converta il giorno civile in un numero di giorno giuliano astronomico con la formula di Fliegel e Van Flandern, sottragga l'offset modulare che è il numero di giorni dall'inizio settimana configurato e aggiunga sei per ottenere la fine settimana inclusiva. La conversione giuliana inversa produce le stringhe ISO di inizio e fine.
Dove compaiono i calcolatori di confini settimana nel lavoro reale
I program manager e gli scrum master mappano qualsiasi giorno a metà sprint al blocco lunedì–domenica o con primo giorno personalizzato che lo contiene per bacheche di capacità e grafici di burndown. I team di HR e busta paga convertono un giorno lavorato nella settimana di paga che lo contiene senza caricare un'intera libreria di pianificazione né dipendere dalla locale del server. Gli insegnanti e gli amministratori scolastici trasformano qualsiasi giorno di lezione nell'inizio e nella fine della settimana per fogli di presenza e comunicazioni ai genitori.
Gli ingegneri di analytics materializzano chiavi di bucket settimanale per dashboard così gli eventi sono raggruppati per l'inizio di settimana civile piuttosto che per troncamenti arbitrari dell'orologio host che si spostano con l'ora legale. Se in seguito Le servono settimane intere tra due date, conteggi di fine settimana in un intervallo, l'ennesimo giorno della settimana di un mese, o la semplice addizione di giorni a una sola base, li tratti come intenzioni di ricerca e landing separate anziché sovraccaricare questa pagina di inizio e fine settimana.
Casi d'uso
Confini settimana per sprint e fogli ore
Mappi qualsiasi data di lavoro a metà settimana sull'intervallo inclusivo lunedì–domenica o domenica–sabato per fogli ore, bacheche di sprint e report di capacità senza deriva di fuso orario host.
Periodi di busta paga e presenza
Converta un giorno lavorato o di lezione nelle stringhe ISO di inizio e fine settimana usate dai cicli di busta paga, fogli di presenza scolastici e calendari rivolti ai genitori.
Domande frequenti
Cosa significa inizio e fine della settimana?
Significa il primo e l'ultimo giorno civile di calendario della settimana di sette giorni che contiene la Sua data, secondo un'impostazione di primo giorno come lunedì o domenica, senza regole di giorni lavorativi né orologio da parete.
Qual è il primo giorno della settimana predefinito?
Lunedì, in linea con le settimane stile ISO comuni.
Quale formato di data è richiesto?
ISO rigoroso YYYY-MM-DD con anno a quattro cifre e mese e giorno a due cifre. Valori come 2024-1-3 o 2024/01/03 sono rifiutati così ogni client concorda.
Cosa succede con una data non valida come 2023-02-29?
Il messaggio di errore spiega che il giorno non è valido per quell'anno e mese sul campo date.
Quanto costa?
Lo strumento del browser è gratuito e gira in locale.
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/week-start-end \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-01-03"}'const res = await fetch("https://api.kit.forhosting.com/date/week-start-end", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-01-03"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/week-start-end",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-01-03"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/week-start-end", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-01-03"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-01-03"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/week-start-end", 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-01-03"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.week_start_end",
"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
Cosa invia e cosa riceve indietro
Invii un campo stringa obbligatorio date come un giorno di calendario ISO rigoroso come duemilaventiquattro trattino zero uno trattino zero tre, e un first_weekday opzionale come monday o sunday o un indice da zero a sei. Date assente, valori non stringa, stringhe che non corrispondono al pattern di cifre quattro-due-due, date che corrispondono al pattern ma non sono giorni di calendario reali, e token di giorno della settimana sconosciuti falliscono con invalid_input e non vengono addebitati. In caso di successo la risposta ecoa la data normalizzata, il nome e l'indice di first_weekday risolto, il nome e l'indice del giorno della settimana del giorno di input, days_from_start come l'offset da zero a sei dall'inizio della settimana, week_start e week_end come stringhe ISO inclusive, numeri di giorno giuliano per l'input e entrambi i confini, length_days sempre sette, e una breve stringa di formula che documenta il percorso Sakamoto e JDN. Controlli classici includono il mercoledì tre gennaio duemilaventiquattro con settimane che iniziano il lunedì che danno dal primo al sette gennaio, la stessa data con settimane che iniziano la domenica che danno dal trentuno dicembre duemilaventitré al sei gennaio duemilaventiquattro, e un input che è già il primo giorno della settimana che restituisce quel giorno come week_start con days_from_start zero. Il prezzo delle chiamate API riuscite è la base pubblicata di $0.002 per elemento; i fallimenti di convalida non consumano il saldo prepagato.
Dove compaiono i calcolatori di confini settimana nel lavoro reale
Poiché questa capacità è un motore di parse puro, il prezzo dell'API è la base pubblicata di $0.002 per elemento riuscito e la convalida fallita non consuma il saldo.
Casi di integrazione
Chiavi di bucket settimanale per analytics
Derivare chiavi week_start civili stabili per il raggruppamento di eventi e dashboard di coorte così i bucket seguono la stessa regola del primo giorno in ogni ambiente.