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

ASP.NET Discussion :

Comparaison d'une date avec son jour nommé


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut Comparaison d'une date avec son jour nommé
    Bonjour tout le monde.

    J'ai un souci de compréhension, peut-être même de conception.
    Je voudrais faire une fonction qui reçois une date en paramette et qui retourn un booléen en fonction du jour nommé de la date.

    Exemple pour être plus clair : j'ai décidé de ne pas travailler le Lundi, le Samedi et le Dimanche. Ma fonction reçois une date et compare son jour à tous les jours de la semaine. Si ma date est un Lundi, un Samedi ou un Dimanche elle renvoi False sinon elle renvoi True.

    Je bloque sur le test à faire. Je voudrais partir sur un For Each, mais je ne comprends pas comment j'accède à la liste des jours nommés. Voyez vous mon soucis ?

    Je suis sûr c'est tout bête, mais je sèche et pourtant il pleut aujourd'hui !!!

    Et ensuite j'aurais le même souci avec les heures de la journée, mais je pense que cela sera la même chose.

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Tu devrais utiliser l'énumération DayOfWeek.

    En espérant t'avoir aidé.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 250
    Points : 420
    Points
    420
    Par défaut
    Oui avec DayOfWeek, mais attention, les jours seront obligatoirement remontés en anglais (Monday, Tuesday ...)

    Pour l'heure, avec la propriété DateTime.Hour qui renvoie un Int

  4. #4
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour votre aide les gars.

    Je continue de sécher. Je comprends pas comment je fais mon For Each sur l'enumération DayOfWeek. il me dit que c'est un type et donc ne veux pas me faire de rotation.

    Alors je l'ai placé au début mais je trouve pas la collection à utiliser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For Each d As DayOfWeek In ???
     
    Next
    Voilà, si vous voyez ce que je veux dire.

  5. #5
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void EnumInstanceFromString()
    {
       // The .NET Framework contains an Enum called DayOfWeek.
       // Let's generate some Enum instances from strings.
     
       DayOfWeek wednesday = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), "Wednesday");
       DayOfWeek sunday =  (DayOfWeek)Enum.Parse(typeof(DayOfWeek), "sunday", true);
       DayOfWeek tgif = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), "FRIDAY", true);
     
       lblOutput.Text = wednesday.ToString() + ".  Int value = " + ((int)wednesday).ToString() + "<br>";
       lblOutput.Text += sunday.ToString() + ".  Int value = " + ((int)sunday).ToString() + "<br>";
       lblOutput.Text += tgif.ToString() + ".  Int value = " + ((int)tgif).ToString() + "<br>";
     
    }
    Va t'afficher cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Wednesday. Int value = 3
    Sunday. Int value = 0
    Friday. Int value = 5

  6. #6
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Bon, j'ai fini par trouvé. en fait, j'avais un souci de conception sur mes listes à tester. Et puis, d'un coup, la lumière !!!

    Du coup j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Protected Function JourTravail(ByVal jh As Date) As Boolean
            Dim dataj As String = "Monday,Friday,Sunday"
            Dim datah As String = "0,1,2,3,4,5,6,7,8,13,19,20,21,22,23"
            Dim rboo As Boolean = True
            Dim JourTravaille As String() = Split(dataj, ",")
            Dim HeureTravail As String() = Split(datah, ",")
            For Each h As String In HeureTravail
                If jh.Hour.ToString = h Then
                    rboo = False
                End If
            Next
            For Each s As String In JourTravaille
                If jh.DayOfWeek.ToString = s Then
                    rboo = False
                End If
            Next
     
            Return rboo
        End Function
    Comme ça, en BDD, je stocke le contenu de dataj et datah et hop, ça roule.

    Merci pour tout.

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

Discussions similaires

  1. Comparaison d'une date avec un masque
    Par Elros dans le forum Windows Forms
    Réponses: 11
    Dernier message: 06/05/2009, 01h56
  2. Réponses: 5
    Dernier message: 20/11/2008, 11h20
  3. [MySQL] comparaison d'une date avec la date système
    Par kawther dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/12/2007, 03h05
  4. [Oracle] Comparaison d'une date avec la date du jour.
    Par mika0102 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/10/2007, 11h52
  5. Soustraire une date avec des jours et jours ouvrés
    Par celiaaa dans le forum VBA Access
    Réponses: 5
    Dernier message: 31/05/2007, 22h37

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