DateTime [Résolu]

Haldarion 106 Messages postés samedi 4 août 2012Date d'inscription 3 février 2018 Dernière intervention - 3 févr. 2018 à 02:40 - Dernière réponse : Haldarion 106 Messages postés samedi 4 août 2012Date d'inscription 3 février 2018 Dernière intervention
- 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
Afficher la suite 

4 réponses

Répondre au sujet
jordane45 19962 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 14 février 2018 Dernière intervention - 3 févr. 2018 à 07:25
0
Utile
3
Bonjour,

Déjà commence par ça:http://www.commentcamarche.net/faq/46512-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 ??

Haldarion 106 Messages postés samedi 4 août 2012Date d'inscription 3 février 2018 Dernière intervention - 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
Haldarion 106 Messages postés samedi 4 août 2012Date d'inscription 3 février 2018 Dernière intervention - 3 févr. 2018 à 13:23
j'ai aussi essayé un strtotime, mais ne fonctionne pas non plus
Haldarion 106 Messages postés samedi 4 août 2012Date d'inscription 3 février 2018 Dernière intervention - 3 févr. 2018 à 14:14
C'est bon ! J'ai arrangé le soucis, merci de ton aide !
Commenter la réponse de jordane45