Metodo createFromFormat della classe DateTime

Il metodo statico createFromFormat della classe DateTime permette di creare un oggetto DateTime da una stringa, corrispondente al formato specificato. Accetta tre parametri: il formato della data, una stringa con la data e un oggetto opzionale DateTimeZone. Restituisce un oggetto DateTime o false in caso di errore.

Sintassi

phpDateTime::createFromFormat(
  string $format,
  string $datetime,
  DateTimeZone $timezone = null
): DateTime|false

Esempio

Creiamo una data da una stringa nel formato giorno-mese-anno:

php<?php
  $date = DateTime::createFromFormat('d-m-Y', '15-07-2023');
  echo $date->format('Y-m-d');
?>

Risultato dell'esecuzione del codice:

php'2023-07-15'

Esempio

Creiamo una data e un orario da una stringa in un formato non standard:

php<?php
  $date = DateTime::createFromFormat('Y/m/d H:i', '2023/07/15 14:30');
  echo $date->format('d.m.Y H:i:s');
?>

Risultato dell'esecuzione del codice:

php'15.07.2023 14:30:00'

Esempio

Creiamo una data specificando il fuso orario:

php<?php
  $timezone = new DateTimeZone('Europe/Moscow');
  $date = DateTime::createFromFormat('Y-m-d H:i:s', '2023-07-15 14:30:00', $timezone);
  echo $date->format('Y-m-d H:i:s e');
?>

Risultato dell'esecuzione del codice:

php'2023-07-15 14:30:00 Europe/Moscow'

Vedi anche

  • il metodo format,
    che formatta data e ora
  • la funzione strtotime,
    che converte una descrizione testuale della data in un timestamp