Aggiungi giorni alla data in PHP
-
Metodo
add
inDateTime()
per aggiungere giorni in PHP -
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.