Ça te surprend vraiment venant d’un langage qui considère que la date 0000-00-00 est équivalente à 1999年11月30日, et ferme ça comme « not a bug, working as designed »?
Pas tout à fait exact, en réalité c'est -0001年11月30日 et il y a une vraie logique derrière
C'est car tu peux ajouter ou retirer des jours, mois, années d'une date existante et PHP te recalcule les dates. Tu y vois une bug ou voudrait que cela ne soit pas possible, certains y voit une fonctionnalité.
Exemple : 2022-03-00 te donnera le dernier jour de février 2022
php > echo (new \Datetime('2022-03-00'))->format('Y-m-d');
2022年02月28日
php > echo (new \Datetime('2024-03-00'))->format('Y-m-d');
2024年02月29日
Même si ces chaînes de caractère en tant que date n'ont pas de sens
[^] # Re: Survivor
Posté par Jérôme FIX (site web personnel) . En réponse au journal C, un âge remarquable. Évalué à 3.
Pas tout à fait exact, en réalité c'est -0001年11月30日 et il y a une vraie logique derrière
C'est car tu peux ajouter ou retirer des jours, mois, années d'une date existante et PHP te recalcule les dates. Tu y vois une bug ou voudrait que cela ne soit pas possible, certains y voit une fonctionnalité.
Exemple : 2022-03-00 te donnera le dernier jour de février 2022
Même si ces chaînes de caractère en tant que date n'ont pas de sens
https://www.php.net/manual/en/datetime.formats.date.php
Mais ce n'est pas le sujet.