Date php bug du jours
Résolu
charles
-
charles -
charles -
Bonjour,
j'ai mis 4 dates différent sur la base sql
par exemple
mercredi 10/04/219 à 15 h 00
jeudi 11/04/2019 à 16 h 00.
vendredi 12/04/2019 à 11 h 00.
vendredi 12/04/209 à 13 h 00.
j'ai mis ce petit code
normalement, il devrait m'afficher
le 10/04/04/2019 à 15 h.
hier à 15 h 00.
aujourd'hui à 11 h 00
aujourd'hui à 13 h 00
étant donée qu'on est le 12/04
moi il m'affiche
titre1 contenu1 aujourdhui 11/04/2019, 16:00:00
hier10/04/2019,
enfaite, il y a 2 petits problème
il croit qu'on est le 11/04/2019 hors on est le 12/04/2019
ensuite il m'affiche mes 2 echo aujourd'hui et hier
normalement c'est soit il m’affiche aujourdhui ou soit hier
comment je dois rectifier le tire afin d'afficher la bonne date et qui met bien aujourd’hui et hier
j'ai mis 4 dates différent sur la base sql
par exemple
mercredi 10/04/219 à 15 h 00
jeudi 11/04/2019 à 16 h 00.
vendredi 12/04/2019 à 11 h 00.
vendredi 12/04/209 à 13 h 00.
j'ai mis ce petit code
$aujourdhui = new DateTime($donnees['date']);
echo 'aujourdhui'; echo $aujourdhui->format('d/m/Y, H:i:s'); echo'<br />';
$hier = $aujourdhui->sub(new DateInterval('P1D'));
echo 'hier'; echo $hier->format('d/m/Y, H:i:s'); }
normalement, il devrait m'afficher
le 10/04/04/2019 à 15 h.
hier à 15 h 00.
aujourd'hui à 11 h 00
aujourd'hui à 13 h 00
étant donée qu'on est le 12/04
moi il m'affiche
titre1 contenu1 aujourdhui 11/04/2019, 16:00:00
hier10/04/2019,
enfaite, il y a 2 petits problème
il croit qu'on est le 11/04/2019 hors on est le 12/04/2019
ensuite il m'affiche mes 2 echo aujourd'hui et hier
normalement c'est soit il m’affiche aujourdhui ou soit hier
comment je dois rectifier le tire afin d'afficher la bonne date et qui met bien aujourd’hui et hier
Configuration: Windows / Chrome 73.0.3683.103
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, je ne vois pas ce que tu fais pour éviter d'exécuter les deux echos.
tu ne montres qu'une partie de ton code.-
imaginons que je mets dans une table date dans ma base sql
CREATE TABLE `date` ( `id` int(11) DEFAULT NULL, `titre` varchar(255) DEFAULT NULL, `contenu` varchar(255) NOT NULL, `date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=latin1; INSERT INTO `date` (`id`, `titre`, `contenu`, `date`) VALUES (1, 'date1', 'contenu', '2019-04-12 10:00:00'), (2, 'date2', 'contenu2', '2019-04-11 13:00:00'), (3, 'date3', 'contenu3', '2019-04-12 00:00:00');
tu vois , il y a 2 date du 12/04/2019 , donc ca affiche bien aujourdhui
ensuite il y a une date du 11/04/2019 normalement il doit afficher hier
c'est pour ca que je met aujourd'hui et hier ans le code
$stmt = $bdd->prepare('SELECT * FROM faq ORDER BY id ASC'); if ($stmt->execute()) { while ($donnees = $stmt->fetch(PDO::FETCH_ASSOC)) { echo $donnees['titre']; echo $donnees['contenu']; $aujourdhui = new DateTime($donnees['date']); echo 'aujourdhui'; echo $aujourdhui->format('d/m/Y, H:i:s'); echo'<br />'; $hier = $aujourdhui->sub(new DateInterval('P1D')); echo 'hier'; echo $hier->format('d/m/Y, H:i:s'); } }
coment je doit faire soit on affiche aujourdhui ou soit hier
et après ca on verra coment afficher il y a 5 minutes, il y a 15 minutes , il y a 30 minites , il y a 1 h etc..
merci- dans quel contexte fais-tu ce travail? as-tu de l'expérience en php?
si je devine correctement ce que tu veux faire, je programmerais ainsi:- calculer la date de ce jour - calculer la date d'hier - pour chaque moment dans la table, - si la date de ce moment est égale à celle du jour, faire l'affichage en fonction - si la date de ce moment est égale à celle d'hier, ...
-
-