Metodo setDate della classe DateTime

Il metodo setDate modifica la data nell'oggetto DateTime. Accetta tre parametri: anno (numero intero), mese (numero intero da 1 a 12) e giorno (numero intero da 1 a 31). Restituisce l'oggetto DateTime modificato.

Sintassi

phppublic DateTime::setDate(int $year, int $month, int $day): DateTime

Esempio

Impostiamo una nuova data: 15 marzo 2023:

php<?php
  $date = new DateTime();
  $date->setDate(2023, 3, 15);
  echo $date->format('Y-m-d');
?>

Risultato dell'esecuzione del codice:

php'2023-03-15'

Esempio

Correzione automatica delle date non valide (32 gennaio viene convertito in 1 febbraio):

php<?php
  $date = new DateTime();
  $date->setDate(2023, 1, 32);
  echo $date->format('Y-m-d');
?>

Risultato dell'esecuzione del codice:

php'2023-02-01'

Esempio

Impostazione della data con valori negativi (passaggio all'anno precedente):

php<?php
  $date = new DateTime();
  $date->setDate(2023, -1, 15);
  echo $date->format('Y-m-d');
?>

Risultato dell'esecuzione del codice:

php'2022-11-15'

Vedi anche

  • la funzione checkdate,
    che verifica la validità di una data
  • la funzione date,
    che formatta una data specificata
  • la funzione modify,
    che modifica la data in base a una stringa di formato relativo