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

C++Builder Discussion :

Trouver le premier jour et dernier jour de la semaine


Sujet :

C++Builder

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2002
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 343
    Par défaut Trouver le premier jour et dernier jour de la semaine
    Bonjour,

    Afin de simplifier les choix utilisateur, je dois à partir d'une date, trouver la date correspondant au lundi et la date du dimanche. Idem afin de trouver en fonction du date donné le début du mois (facile) et la date de fin de mois (heu!!, comment savoir si y'a un 31, 30???).

    Quelqu'un voit comment faire ?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Par défaut
    Si la date est donnée par un TDateTime, la fonction DayOfWeek() renvoie un entier qui le numéro du jour de la semaine :
    "DayOfWeek renvoie une valeur entière comprise entre 1 et 7. Sunday est le premier jour de la semaine et Saturday le septième."

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TDateTime dtDate;
    .
    .
    int n = dtDate.DayOfWeek();
    n = (n + 6)%7;   // pour avoir 0 pour le lundi, ...6 pour le dimanche;
    TDateTime dtLundi = dtDate - n;
    TdateTime dtDimanche = dtLundi + 6;
    Utiliser ensuite le DecodeDate pour avoir le jour du mois.

    Pour ce qui concerne le dernier jour du mois il serait peut-être plus facile de chercher le premier jour du mois suivant et retrancher 1 dans son TDateTime.

    Utiliser pour cela les DecodeDate et EncodeDate.

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut kurkaine:
    Tire de l'aide en ligne dans un Tedit tu inscrit une date 22/11/2006 et tu a un ShowMessage du jour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
    {
      char days[7][10] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
     
    TDateTime dtDate = StrToDate(Edit1->Text);
     
      ShowMessage(Edit1->Text + AnsiString(" is a ") + days[dtDate.DayOfWeek() - 1]);
     
    }

Discussions similaires

  1. [AC-2010] 1 jour au dernier jour de la base
    Par hboisteau dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 08/11/2012, 22h19
  2. Réponses: 7
    Dernier message: 09/10/2008, 15h18
  3. Réponses: 2
    Dernier message: 29/07/2008, 17h03
  4. [aide] premier jour et dernier jour
    Par lancer83 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 07/11/2007, 15h01
  5. [VBA-E]Ajouter jours ouvrés -> NB.Jours.Ouvres, Serie.Jours.Ouvres
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/05/2007, 09h36

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