Aggiungi giorni alla data in PHP

  1. Metodo add in DateTime()per aggiungere giorni in PHP
  2. date_add() per aggiungere giorni alla data in PHP

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.

Articolo correlato - PHP Date

  • Converti DateTime in String in PHP