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 :

Savoir si deux intervalles ont une intersection


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    zesavantfou
    Invité(e)
    Par défaut Savoir si deux intervalles ont une intersection
    Bonjour,

    J'ai deux période (date1-date2 et date3-date4 ) j'ai convertis chaque date en un timestamp, ca qui donne deux periodes définis comme ca :

    timestamp1 - timestamp2 et timestamp3 - timestamp4

    Le problème est le suivant : comment déterminer si ces deux intervalles ont une intersection ou pas. Je sait qu'on c il y a des méthode avec max et min, mais franchement je sèche sur ce coup là en php.

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est une question de logique ca, pas de programmation.
    Si comme moi tu es plus visuel, tu prends une feuille de papier, un crayon et tu dessines tes deux intervalles :
    Ca te donne 4 cas de chevauchement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    t1---------------t2
                t3------------------t4
     
               t1---------------t2
    t3------------------t4
     
              t1---------------t2
    t3-----------------------------------t4
     
    t1-------------------------------t2
             t3---------------t4
    mais tu remarques qu'ils se resument a deux conditions :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($t4 > $t1 && $t3 < $t2)
    La durée total de deux plages se chevauchant est par contre effectivement le dernier qui fini moins le premier qui commence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    max($t4,$t2) - min($t3,$t1)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    zesavantfou
    Invité(e)
    Par défaut
    oui j'ai fait ces shemea si tu regarde de plus prêt tu va voir que dans ton deuxième interval on a:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($t1 > $t4 && $t3 > $t2)
    donc ta condition premiere ne marche pas dans ce cas, mais aussi dans les autres cas, elle ne marche que pour la première

    Je ne sais pas si c'est vrai ce que je dis, a tio de me dire.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    tu parles de celui la ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
             t1---------------t2
    t3----------------t4
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    zesavantfou
    Invité(e)
    Par défaut
    oui

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il valide bien mon expression.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Comment savoir si deux noeuds ont un lien de parenté?
    Par Invité dans le forum Composants
    Réponses: 4
    Dernier message: 28/07/2011, 12h16
  2. Réponses: 23
    Dernier message: 20/05/2009, 13h47
  3. Réponses: 7
    Dernier message: 19/06/2008, 16h18
  4. Deux ensembles spécifiés dans la fonction << >> ont une dimensionalité différente.
    Par clementratel dans le forum Autres outils décisionnels
    Réponses: 0
    Dernier message: 20/02/2008, 17h15
  5. Coordonnées d'une intersection de deux courbes
    Par RKOCOCO dans le forum MATLAB
    Réponses: 2
    Dernier message: 22/06/2007, 15h05

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