DateTime

Résolu/Fermé
Haldarion Messages postés 121 Date d'inscription samedi 4 août 2012 Statut Membre Dernière intervention 21 octobre 2018 - Modifié le 3 févr. 2018 à 02:41
Haldarion Messages postés 121 Date d'inscription samedi 4 août 2012 Statut Membre Dernière intervention 21 octobre 2018 - 3 févr. 2018 à 14:14
Bonsoir, j'essai d'utiliser les datetime pour mon projet, et je n'arrive pas à les utiliser correctement. Je vous explique. Dans ma base de données, j'ai renseigné 2 dates, une de début et une de fin, j'aimerai dans une fonction en php, les appelé et les comparé à la date du jour. Exemple, si la date du jour est avant la date de début, j'aimerai afficher "l'evenement commencera dans XXXX", si on est pendant, afficher "l'evenement prendra fin dans XXX" et sinon "evenement finit", pour le moment j'essai de m'occuper de la date avant le début mais ça ne marche pas du tout... voici mon code


$requetesteam20 = $bdd->prepare("SELECT datedebut,datefin FROM concours WHERE nomconcours = 'steam20' ");
        $requetesteam20->execute();
        $steam20 = $requetesteam20->fetch();
        
        $datefin = new DateTime($steam20['datefin']);
        $DateNow = new DateTime("now");
        $TempsRestant = $DateNow->diff($datefin);
        return printf("Il reste %s jour %s heures %s minutes ",
        $TempsRestant->d, $TempsRestant->h,$TempsRestant->i);
    


Je pense avoir compris que le "$steam20['datefin'] pose problème mais je ne vois pas comment faire surtout que je n'ai aucune erreur ! juste le temps affiché vaut 0 ( alors que la date n'est pas atteinte ). Petite précision, oui dans ma table les éléments s'appelles bien ainsi et sans erreur. Merci d'avance

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
3 févr. 2018 à 07:25
Bonjour,

Déjà commence par ça:https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

Ensuite, dans ta bdd, les dates sont stockées sous quelle forme et dans quel type de champ ?

Et enfin.. peux tu faire un print_r du résultat de ta requête que l'on voit ce qu'elle te retourne ??

0
Haldarion Messages postés 121 Date d'inscription samedi 4 août 2012 Statut Membre Dernière intervention 21 octobre 2018 21
3 févr. 2018 à 13:22
Bonjour, j'ai mis la gestion d'erreur et je n'en ai aucunes. Je me suis dit peut être qu'elles n'apparaissait pas car mes fonction sont dans un fichier a part, donc je l'ai mis dans la page php concerné, mais toujours pareille, j'en déduis qu'il n'y a pas d'erreur?

Effectivement, je viens de constater que le datetime est au format m-d-Y et que dans ma BDD elles sont en Y-M-D Du coup le problème vient surement de là. Comment convertir là date du coup en utilisant mon $steam20['datefin'] ? j'ai essayé ceci

 date_format($steam20['datefin'],'m-d-Y');
mais sans succés
0
Haldarion Messages postés 121 Date d'inscription samedi 4 août 2012 Statut Membre Dernière intervention 21 octobre 2018 21
3 févr. 2018 à 13:23
j'ai aussi essayé un strtotime, mais ne fonctionne pas non plus
0
Haldarion Messages postés 121 Date d'inscription samedi 4 août 2012 Statut Membre Dernière intervention 21 octobre 2018 21
3 févr. 2018 à 14:14
C'est bon ! J'ai arrangé le soucis, merci de ton aide !
0