• [^] # Re: Survivor

    Posté par (site web personnel) . En réponse au journal C, un âge remarquable. Évalué à 3.

    Ç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

    https://www.php.net/manual/en/datetime.formats.date.php

    Mais ce n'est pas le sujet.