Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

<?php use Cake\I18n\Date;?>
            <input type="hidden" value="<?php echo (new Date())->format('Y-m-d');?>" id="date_test" name="date_test">

quand je charge la page web et je l'inspecte je vois que la date est vrai dans value ="" mais quand j'insére dans la base ladate se tronforme en une fausse date 2017/16/9 j'ai pas compris pourquoi .
Nb: date _test est de format DATE dans la base
merci en avance

1 réponse


Bonjour,
C'est la façon dont MYSQL stocke ses dates.

Pour les récupérer, il suffit de faire ainsi :


SELECT DAY(date) AS jour, MONTH(date) AS mois, YEAR(date) AS annee FROM maTable
On pourrait ensuite afficher la date en PHP dans l'ordre que l'on souhaite à l'aide du découpage en champs que l'on vient de faire :

<?php
echo $donnees['jour'] . '/' . $donnees['mois'] . '/' . $donnees['annee'] . '...';
?>
C'est cependant un peu compliqué, et il y a plus simple. La fonction DATE_FORMAT vous permet d'adapter directement la date au format que vous préférez. Il faut dire que le format par défaut de MySQL (AAAA-MM-JJ HH:MM:SS) n'est pas très courant en France.

Voici comment on pourrait l'utiliser :

SELECT pseudo, message, DATE_FORMAT(date, '%d/%m/%Y %Hh%imin%ss') AS date FROM minichat
Ainsi, on récupèrerait les dates avec un champ nommé date sous la forme 11/03/2010 15h47min49s.

Source : OpenClassRooms