Primo e ultimo giorno del mese
Scelga un anno e un mese per ottenere la prima e l'ultima data: febbraio 2024 va dal 1° al 29 febbraio 2024, mentre febbraio 2023 finisce il 28. Pronto per fatture e periodi di rendiconto. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Anno
- 2024
- Mese
- 2
- Nome del mese
- February
- Primo giorno
- 1
- Ultimo giorno
- 29
- Giorni nel mese
- 29
Questo calcolatore del primo e ultimo giorno del mese prende un anno di calendario gregoriano e un numero di mese da uno a dodici e restituisce le date di apertura e chiusura di quel mese in forma rigorosa AAAA-MM-GG. I controlli classici includono febbraio 2024 che dà prima data 2024-02-01 e ultima data 2024-02-29 con ventinove giorni, febbraio 2023 che dà 2023-02-28 come ultimo giorno, e aprile 2024 che dà da 2024-04-01 a 2024-04-30. Il motore usa solo lunghezze dei mesi deterministiche a tabella con la regola dell'anno bisestile gregoriano, così non consulta mai l'orologio dell'host, non campiona mai in modo casuale e non chiama mai la rete.
Dove si inseriscono i limiti di mese in fatturazione, reportistica e software
I team operativi e finanziari hanno bisogno delle date di inizio e fine mese quando una fattura di abbonamento copre un intero mese di calendario, quando una politica di conservazione è espressa come il mese che contiene un evento, o quando un filtro di dashboard imposta per default il mese di reportistica corrente senza codificare a mano trenta o trentuno.
Gli analisti che costruiscono coorti usano gli stessi limiti per etichettare finestre di osservazione che si aprono il primo e chiudono il vero ultimo giorno, evitando troncamenti silenziosi quando febbraio o mesi corti compaiono in backfill pluriennali. Educatori e redattori di standard usano lo strumento per dimostrare fine mese con giorno bisestile come febbraio 2024 rispetto a febbraio 2023 senza affidarsi ad app calcolatrici opache che includono in silenzio gli orari del giorno.
Abbinatelo agli strumenti di giorni tra due date, sottrazione di giorni o helper per settimane ISO quando vi servono passaggi di calendario correlati, e ad altri strumenti gratuiti e deterministici quando state assemblando un piccolo laboratorio di utility per le date.
Casi d'uso
Intervalli di fatturazione e fatture
Ottenete le date di calendario inclusive di inizio e fine per un anno-mese così fatture e abbonamenti coprano l'intero mese senza codificare a mano il conteggio dei giorni.
Febbraio bisestile e mesi corti
Verificate che febbraio finisca il 28 o il 29 secondo le regole bisestili gregoriane, e che aprile, giugno, settembre e novembre si chiudano correttamente il 30.
Domande frequenti
Cosa succede se il mese è fuori dall'intervallo 1-12?
Il mese deve essere un intero da 1 (gennaio) a 12 (dicembre).
Come vengono gestiti gli anni bisestili per febbraio?
Un anno è bisestile se divisibile per 4, tranne i secoli non divisibili anche per 400. Febbraio ha allora 29 giorni (per esempio 2024 e 2000), altrimenti 28.
Questo strumento usa l'oggetto Date dell'host?
No. Le lunghezze dei mesi e le regole bisestili sono aritmetica a interi pura con una tabella fissa, così i risultati sono riproducibili tra i runtime senza effetti di fuso orario o orologio.
Quali mesi finiscono il 30?
Aprile, giugno, settembre e novembre chiudono il 30; aprile 2024, per esempio, va dal 2024-04-01 al 2024-04-30. Febbraio finisce il 28, o il 29 negli anni bisestili, e gli altri mesi il 31.
Le due date sono comprese nell'intervallo del mese?
Sì. La prima data è sempre il giorno 1 e l'ultima è il vero giorno finale, quindi un filtro o una fattura che va dall'una all'altra copre il mese intero senza perdere giorni alla fine.
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/month-start-end \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2024,"month":2}'const res = await fetch("https://api.kit.forhosting.com/date/month-start-end", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"year": 2024,
"month": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/month-start-end",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"year": 2024,
"month": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/month-start-end", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"year":2024,"month":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"year":2024,"month":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/month-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
{
"year": 2024,
"month": 2
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.month_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.
Limiti
year_min | 1 |
year_max | 9999 |
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
Usatelo gratis nel browser per finestre di fatturazione, intervalli di report e compiti, oppure chiamate l'API a $0.002 per richiesta riuscita quando vi servono limiti di mese riproducibili in CI, pipeline di pianificazione o funzionalità di prodotto che non devono inventare a mano le date di fine mese.
Cosa significano inizio e fine del mese e cosa contiene la risposta
Conoscere il primo e l'ultimo giorno di calendario di un mese risponde a una domanda diversa dal contare i giorni tra due date arbitrarie, trovare il prossimo giorno della settimana o convertire numeri di giorno giuliano: fissa i limiti civili di un anno-mese nominato così intervalli di report, fatture e finestre di conservazione si aprono il giorno uno e si chiudono nel vero ultimo giorno senza errori di uno nei mesi di trenta giorni o nei febbraio bisestili. Se vi servono la distanza in giorni interi tra due date libere, la navigazione per giorno della settimana o la conversione a settimana ISO, usate quegli strumenti dedicati; questa pagina risponde solo all'inizio e fine di calendario di un singolo anno-mese validato. Fornite un anno intero e un mese intero da uno per gennaio a dodici per dicembre; il calcolatore verifica questi campi, cerca quanti giorni ha quel mese in quell'anno secondo il calendario gregoriano prolettico, e restituisce first_date come AAAA-MM-01, last_date come AAAA-MM con l'ultimo giorno vero riempito con zero, first_day sempre uguale a uno, last_day uguale a days_in_month, il month_name in inglese per la visualizzazione, is_leap_year per i chiamanti sensibili a febbraio, e un breve promemoria della formula. Non c'è un inizio settimana dipendente dalla lingua, nessuna approssimazione in virgola mobile della lunghezza di un giorno, e nessun affidamento all'oggetto Date dell'host: o anno e mese sono validi dentro la finestra supportata e i limiti sono completamente determinati, oppure la richiesta fallisce con invalid_input. I casi rifiutati includono un anno o mese mancante, valori non interi, anni fuori dall'intervallo uno-9999, e qualsiasi mese fuori dall'intervallo uno-dodici come zero, tredici o indici negativi.
Come vengono letti anno e mese e come febbraio bisestile resta corretto
Ogni valore può arrivare come numero, stringa intera pura con segno facoltativo, o bigint che rientra nell'intervallo sicuro; decimali incorporati, prefissi esadecimali e token non numerici vengono rifiutati con un messaggio chiaro così una cella sbagliata non diventa un ultimo giorno sbagliato. Le lunghezze dei mesi provengono da una tabella fissa di trentuno, trenta o ventotto giorni, tranne febbraio che diventa ventinove quando l'anno è bisestile gregoriano: divisibile per quattro, tranne i secoli non divisibili per quattrocento. Questa regola dà correttamente 2024-02-29 e 2000-02-29 mentre rifiuta qualsiasi tentativo di inventare trentadue giorni in un mese qualsiasi. Il primo campo preferito è year, ma sono accettati gli alias y e Y così fogli di calcolo, query string e form tipizzati possono riusare lo stesso contratto senza rinominare colonne. Il secondo campo preferito è month, con gli alias m, M e mon per lo stesso motivo. Dopo l'analisi, year deve essere compreso tra 1 e 9999 inclusi, e month deve essere compreso tra 1 e 12 inclusi — valori come 0, 13 o 2024 come mese falliscono con invalid_input nominando il campo month. Il primo giorno è sempre uno; l'ultimo giorno è uguale a days_in_month; entrambi i limiti sono formattati con anni a quattro cifre e mesi e giorni a due cifre. Abbinate l'esecuzione gratuita nel browser di questa pagina all'API a pagamento quando vi servono gli stessi limiti di mese dentro una pipeline automatizzata.
Dove si inseriscono i limiti di mese in fatturazione, reportistica e software
Gli sviluppatori richiamano il contratto dagli script per generare vettori di test deterministici per schedulatori e buste paga, per verificare campi di intervallo in API che accettano solo date di calendario inclusive, o per soddisfare requisiti di prodotto che richiedono limiti gregoriani puri senza deriva di fuso orario dall'oggetto Date dell'host che fa scattare la mezzanotte in una zona inaspettata. In questa pagina il lavoro viene svolto interamente nel browser; tramite l'API ogni ricerca riuscita costa $0.002, la convalida fallita non viene addebitata e nulla viene conservato dopo la restituzione della risposta. Questa divisione — esplorazione interattiva gratuita e API a pagamento identica — corrisponde al resto del catalogo tier A del KIT e permette di passare da un controllo occasionale a una pipeline senza cambiare il risultato matematico.
Casi di integrazione
Fixture di test deterministiche
Generate stringhe riproducibili di first_date e last_date per unit test, controlli di proprietà e asserzioni CI senza dipendere da Date o dall'orologio dell'host.
Domande tecniche
Quanto costa il calcolatore del primo e ultimo giorno del mese?
È gratuito nel browser su questa pagina. Tramite l'API una richiesta riuscita costa $0.002; gli input non validi non vengono addebitati.
Come sono definite le date di inizio e fine?
Per un anno e mese validati, first_date è sempre AAAA-MM-01 e last_date è AAAA-MM-{days_in_month}, dove days_in_month proviene dalla tabella gregoriana di lunghezza dei mesi (29 febbraio negli anni bisestili).