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

VB.NET Discussion :

Comment Savoir si des dates se chevauchent ?


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut Comment Savoir si des dates se chevauchent ?
    Salut,

    Voila,

    J ai deux evenements qui ont chacun un temps de debut et de fin.

    Y aurait il une methode permettant de determiner si ces evenements se chevauchent. Et ideallement retourner la date de debut et fin de l evenement global.

    Je pense que c est un probleme reccurent, pourtant j ai rien trouvé a ce sujet ...

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Par défaut
    Bonjour,

    Si tu fais une série de test avec des "if" où tu compares les années, puis les mois, puis les jours.

    Même idée si ce sont des heures : si H1 > H2 ....

    C'est qu'une idée, mais à première vue je ferais comme ça...

  3. #3
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    je suppose qu'un DateDiff entre la date de début d'un évènement et la date de fin de l'autre répondra à la question.

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Re,

    Merci de m aider

    - J ai finalement trouvé un bout de code que j ai adapté, qui je pense devrait couvrir toutes les possibilités :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Function DoDateRangesOverlap(ByVal startDateRange1 As DateTime, ByVal endDateRange1 As DateTime, ByVal startDateRange2 As DateTime, ByVal endDateRange2 As DateTime) As Boolean
     
            If (((startDateRange1 < endDateRange2) And (startDateRange1 >= startDateRange2)) Or ((endDateRange1 <= endDateRange2) And (endDateRange1 > startDateRange2))) Then
                Return True
            Else
                Return False
            End If
        End Function
    Par contre, j ai jeté un oeil a Datediff et comprend pas comment je pourrais l'utiliser ici ?

    Merci.

    Slumpy

  5. #5
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Private Function Chevauchement(ByVal Debut1 As DateTime, ByVal Fin1 As DateTime, ByVal Debut2 As DateTime, ByVal Fin2 As DateTime) As Boolean
     
            If DateDiff(DateInterval.Second, Debut1, Debut2) > 0 Then
                If DateDiff(DateInterval.Second, Fin1, Debut2) < 0 Then
                    Return True
                End If
            Else
                If DateDiff(DateInterval.Second, Fin2, Debut1) < 0 Then
                    Return True
                End If
            End If
     
        End Function

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Arf, ca parrait tellement evident quand tu vois un bout de code. Merci.

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

Discussions similaires

  1. [Python2.4] Comment savoir si une date est jour férié ou pas ?
    Par Ekimasu dans le forum Général Python
    Réponses: 10
    Dernier message: 30/03/2007, 16h34
  2. Comment savoir si la date d'un datetime a été initialisée ?
    Par dymezac dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2007, 17h38
  3. Comment savoir que deux dates sont égales ?
    Par bassim dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 19/12/2006, 19h36
  4. Réponses: 3
    Dernier message: 03/11/2006, 11h29
  5. Réponses: 2
    Dernier message: 28/01/2006, 14h54

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