HOWTO · PHP

Aggiungi giorni alla data in PHP

Diversi modi per aggiungere giorni in una stringa di data in PHP

In questa pagina

La manipolazione della stringa data in PHP può essere eseguita in molti modi, può aggiungere o detrarre ore, mesi, anni, ecc. PHP fornisce diverse funzioni come DateTime, date_add e una combinazione di strtotime() e date().

Metodo add in DateTime()per aggiungere giorni in PHP

Utilizzando PHP versione 5.3 e successive, anche l’oggetto DateTime e il suo metodo add possono essere una soluzione. DateTime supporta più formati di data di strtotime e date. Usare un oggetto è anche più semplice delle funzioni arbitrarie. Ad esempio, quando si confrontano due date, è diretto in DateTime, ma in strtotime è necessario convertire prima la data in timestamp.

Esempio:

<?php
$oldDate = "2020-02-27";
$newDate = new DateTime($oldDate);
$newDate->add(new DateInterval('P1D')); // P1D means a period of 1 day
$fomattedDate = $date->format('Y-m-d');
?>

Il seguente codice stamperà l’Output:

echo $fomattedDate; //output: 2020-02-28

La parte difficile dell’utilizzo di DateTime() è l’oggetto DateInterval. Accetta una specifica di intervallo valida. Il formato corretto inizia con la lettera P che significa periodo, seguita da un valore intero, quindi D per il giorno. Se la durata è il tempo, l’ultima parte deve essere T.

Combinazione di strtotime() e date() per aggiungere giorni alla data in PHP

La strtotime() è una funzione PHP che viene usata per convertire una descrizione testuale della data in inglese in un timestamp UNIX. La funzione strtotime accetterà un valore stringa che rappresenta la data e l’ora.

Esempio:

<?php
$oldDate   = "2020-02-27";
$date1 = date("Y-m-d", strtotime($oldDate.'+ 1 days'));
$date2 = date("Y-m-d", strtotime($oldDate.'+ 2 days'));
?>

Verrà generato il codice seguente: The following code will Output:

echo $date1; //output: 2020-02-28
echo $date2; //output: 2020-02-29

L’esempio precedente accetterà una stringa di data con il formato corretto e restituirà la nuova data utilizzando strtotime e +1 giorni. La funzione date() ha fornito il formato corretto.

Nota: Per evitare l’oscurità, si consiglia di utilizzare il formato ISO 8601 (YYYY-MM-DD).

date_add() per aggiungere giorni alla data in PHP

Questo approccio è il più semplice tra gli altri per aggiungere giorni, mesi, anni, ore, minuti e secondi.

Esempio:

$oldDate = date_create("2020-02-27"); 
date_add($oldDate, date_interval_create_from_date_string("1 day"));

In applicazione:

echo date_format($date,"Y-m-d"); //output: 2020-02-28

L’esempio sopra aggiunge anche le date a una stringa di data, date_create() crea un oggetto DateTime. date_interval_create_from_date_string() imposta un DateInterval dalle parti della stringa. Infine, date_add() incrementa il valore della data.