Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Objet Datetime et années

By Frederic Bouchery

<?php
for ($y = 1900; $y < 2100; $y++) {
  if (new DateTime($y)->format('Y') != $y) {
      echo $y, ' ', (new DateTime($y))->format('c'), "
";
      }
}

Dans ce code, 2 années sont transmises à Datetime et récupérées. Pourtant, elles renvoient la même valeur : 2024.

En coulisse, PHP tente de décoder le nombre. Au lieu de reconnaître une année, il reconnaît une heure. Et, par défaut, il fixe le reste de la date à aujourd’hui. Plus tard, lorsque la date est formatée, l’année devient 2024.

Un conseil est de formater la date selon les préférences de PHP, ou d’utiliser la méthode createFromFormat(), qui utilise un format fourni pour décoder la chaîne.

See Also

PHP Features

Last updated: 11 October 2026