Ottieni l'ultimo giorno del mese con le funzioni PHP

PHP ha già funzioni incorporate che aiuteranno a ottenere l’ultima data di un dato mese. Le funzioni DateTime e strtotime sono molto utili in questo scenario, sebbene sia ben noto e documentato che strtotime non funzionerà accuratamente o darà risultati corretti dopo l’anno 2038. Tuttavia, strtotime è fantastico per convertire le date.

Entrambe le funzioni utilizzano il formato t che secondo il manuale ufficiale restituisce il numero di giorni nel mese di una determinata data. Nota che la chiave per ottenere l’ultimo giorno del mese è la lettera t che restituisce il numero di giorni in un dato mese.

PHP DateTime per ottenere l’ultima data del mese

Questo è il metodo migliore da utilizzare per ottenere l’ultima data di un mese sia con date future che passate. I parametri passati nella funzione format() sono - Y, m e t. Queste costanti sono definite in PHP.

Una rappresentazione numerica completa di un anno, 4 cifre è rappresentata dalla lettera Y, ad esempio, 2020. La rappresentazione numerica di un mese, con zeri iniziali, è per lettera m, da 01 a 12. E il numero di giorni nel mese dato è rappresentato dalla lettera t.

Questa è l’opzione migliore se la versione PHP utilizzata è successiva a 5.3

$L = new DateTime( '2020-02-01' ); 
echo $L->format( 'Y-m-t' );

Il codice sopra fornisce la funzione DateTime con una data e utilizzando i caratteri di formato Y-m-t per ottenere l’ultima data del mese alla data fornita.

PHP strtotime() per ottenere l’ultima data del mese

strtotime() è l’opzione migliore per la versione PHP prima della 5.2.

$date = "2020-01-15";
echo date("Y-m-t", strtotime($date));

Articolo correlato - PHP DateTime

  • Ottieni l'anno corrente in PHP
  • Calcola la differenza tra due date usando PHP