Petit soucis avec les dates

Petit nouveau ! | 5 Messages

26 juin 2015, 09:51

Avant toute chose, Bonjour à tous et toutes,

J'ai parcourus l'aide/manuel de Php sur les dates , idem sur votre forum. Mais je dois dire c'est un vrai casse-tête la manipulation de date ( du moins pour moi ).

je vous explique un peu le soucis :

Exemple : un client achète un produit dont la date placement définit la date limite de garantie qui est de 2ans.

dans mon formulaire, j'enregistre la date de placement dans une BDD au format DATE ( je sais pas si je fais bien de le mettre dans ce format ou de la mettre au format DATETIME , vu que je n 'ai pas besoin de l'heure.)

jusque la, je n'ai pas trop de soucis.

Dans la fiche du client, je dois pouvoir afficher si le produit en question est encore sous garantie ou hors garantie.

j'ai trouvé des fonctions ou/et bout de code sur le net, je ne cherche pas à faire du code compliqué au début histoire de comprendre ce que je fais.

en gros j'ai ça , je suis peut-être l'erreur, peut-être que je devrais sauver aussi la Date de garantie dans la base de donnée pour avoir plus facile ?

Code : Tout sélectionner

$begin = new DateTime($date_dep, new DateTimeZone('Europe/Brussels')); //$begin->modify('- 2 years'); // verification echo '<br> Verification : '.$begin->format('d-m-Y'); // -------------- $date_now = date('d-m-Y'); $datedebut = $begin->format('d-m-Y'); // --------------- echo '<br> date de maintenant :'.$date_now ; if ( $date_now <= $datedebut ) { echo '<br><br><span style="background-color:green;height:250px;padding-left:10px; padding-right:10px;"><img src="./images/picto_garantie_2ans_vert.png" height="64" width="64" /></span>'; } else { echo '<br><br><span style="background-color:red;height:250px;padding-left:10px; padding-right:10px;"><strong> Hors garantie </strong></span>'; }

Avatar du membre
Mammouth du PHP | 1609 Messages

26 juin 2015, 10:37

Salut, pour comparer des dates en php il faudrait les mettre en Ymd, ainsi la comparaison numérique sera fonctionnelle (ex. : 20150626 > 20150625).
Il faut par contre que tu ajoutes 2 ans à la date enregistrée pour pouvoir vérifier que la date du jour est bien inférieur à la date enregistrée plus les 2 ans de garantie.
Développeur web depuis + de 20 ans

Petit nouveau ! | 5 Messages

26 juin 2015, 10:51

et l'utilisation du DATETIME plutôt que DATE en enregistrement Mysql, à une incidence ? parce que , je vois sur certains post qu'il est mieux d'utiliser DATETIME ?

Avatar du membre
Mammouth du PHP | 1609 Messages

26 juin 2015, 11:04

Et bien avec datetime tu peux enregistrer l'heure et avec date tu ne peux pas. De la à dire que datetime est mieux que date... je serais curieux de savoir pourquoi.

Perso quand j'ai besoin de l'heure je mets datetime et quand j'en ai pas besoin, je mets date. Et ça ne m'a jamais posé aucun problème.
Développeur web depuis + de 20 ans

Petit nouveau ! | 5 Messages

29 juin 2015, 09:07

Merci, pour vos aides :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 juin 2015, 11:57

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton "Résolu" situé en haut de la page :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...