Méthode createFromFormat de la classe DateTime

La méthode statique createFromFormat de la classe DateTime permet de créer un objet DateTime à partir d'une chaîne correspondant au format spécifié. Elle accepte trois paramètres : le format de date, une chaîne contenant la date et un objet optionnel DateTimeZone. Elle retourne un objet DateTime ou false en cas d'erreur.

Syntaxe

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

Exemple

Créons une date à partir d'une chaîne au format jour-mois-année :

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

Résultat de l'exécution du code :

php'2023-07-15'

Exemple

Créons une date et une heure à partir d'une chaîne dans un format 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');
?>

Résultat de l'exécution du code :

php'15.07.2023 14:30:00'

Exemple

Créons une date avec indication du fuseau horaire :

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');
?>

Résultat de l'exécution du code :

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

Voir aussi

  • la méthode format,
    qui formate la date et l'heure
  • la fonction strtotime,
    qui transforme une description textuelle de date en timestamp