insertion du Date dans la base

Par ikb, il y a 10 ans


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

Carouge10, il y a 10 ans

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