IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comparaison et condition de dates avec date_diff


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut Comparaison et condition de dates avec date_diff
    Bonjour,

    J'affiche des états de garantie avec des conditions, afin d'afficher si le matériel est encore sous garantie ou non.

    Très simple pour Oui ou Non :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     if (new DateTime() > new DateTime($value['date_fingarantie'])) {echo "<span class=\"hg\">HG</span>"; }
               elseif (new DateTime() < new DateTime($value['date_fingarantie'])) {echo "<span class=\"sg\">SG</span>"; }
    Par contre, j'aimerai afficher un 3eme statut, pour un matériel qui sous 15 jours ne serait plus sous garantie (afin de faire une mise en garde),
    <= 15 afficher statut différent.
    on peut le faire avec date_diff($datetime1, $datetime2); mais je ne sais pas trop comment m'y prendre avec mes variables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (date_diff($value['date_fingarantie'], new DateTime())) <=15 { resultat }
    ?

    Merci d'avance
    nicolas

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    regarde les exemples de date_diff(), ensuite la doc t'indique que cette fonction te renvoie un DateInterval qui lui contient les composants temporels de l'écart calculé (jours, mois, années...)

    Inspire-toi des exemples et c'est tout bon

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 181
    Points : 114
    Points
    114
    Par défaut
    Merci , c'est bon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $datetime1 = new DateTime();
    $datetime2 = new DateTime($value['date_fingarantie']);
    $interval = $datetime1->diff($datetime2);
    $day_garantie = $interval->format('%r%a');
     
     
                            if ($day_garantie >= 1 && $day_garantie < 15)
     
    (...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requetes Avec Count et condition sur date
    Par Harry dans le forum WinDev
    Réponses: 1
    Dernier message: 04/06/2007, 15h23
  2. Réponses: 4
    Dernier message: 09/05/2006, 08h55
  3. [Access] requete sql avec condition sur date
    Par qeja dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/03/2006, 23h54
  4. [Oracle 9i] Date avec Heure + comparaison
    Par MinsK dans le forum Oracle
    Réponses: 8
    Dernier message: 21/11/2005, 12h18
  5. Requete de suppression avec en condition une date
    Par PrinceMaster77 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/04/2004, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo