Cette section décrit tous les formats différents que l'analyseur de
DateTimeImmutable, DateTime,
date_create_immutable(),
date_create(), date_parse(), et
strtotime() est capable de comprendre.
Les formats sont groupés par sections.
Dans la plupart des cas, les formats de sections différentes, séparé par des
caractères d'espacement blanc, des virgules ou des points, peuvent être
utilisés dans la même chaîne date/moment. Pour chaque format supporté, un ou
plusieurs exemples sont donnés ainsi qu'une description du format correspondant.
Les caractères entre guillemets simples pour les formats sont insensibles à la
casse ('t'
pourrait s'écrire t
ou
T
), les caractères écrits entre guillemets doubles, eux,
sont sensibles à la casse ("T"
et seulement T
).
Un ensemble de règles générales devrait être pris en compte.
false
si un des nombres et en-dehors
de la plage, et DateTimeImmutable::__construct() lance
une exception.
Il y a une vérification additionnelle si une date invalide est fourni :
<?php
$res = date_parse("2015-09-31");
var_dump($res["warnings"]);
?>
L'exemple ci-dessus va afficher :
array(1) { [11] => string(27) "The parsed date was invalid" }
Il est déjà possible de gérer c'est cas spéciaux, mais l'utilisation de It is already possible to handle the edge cases, but then you need to use DateTimeImmutable::createFromFormat() est requis en fournissant le format voulu.
<?php
$res = DateImmutable::createFromFormat("Y-m-d", "2015-09-34");
var_dump($res);
L'exemple ci-dessus va afficher :
class DateTime#1 (3) { public $date => string(26) "2015-10-04 17:24:43.000000" public $timezone_type => int(3) public $timezone => string(13) "Europe/London" }