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

Windows Discussion :

fonction c pour manipuler la structure date


Sujet :

Windows

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 12
    Points : 12
    Points
    12
    Par défaut fonction c pour manipuler la structure date
    Bonjour,
    je recherche une fonction en C pour oter un certain nombre de jour à la date courante (obtenu par la fonction getdate (&d)
    Merci
    Cordialement
    Tom

  2. #2
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    j'utilise sous window SYSTEMTIME Date; et GetLocalTime(&Date);

    Je peux t'aider avec cette structure et cette fonction, si tu précises un peu plus ce que tu veux faire.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Salut
    Je souhaite faire une soustraction de n jours à la date courante.
    En fait comme je ne m'y retrouvais pas dans l API Windows j'ai opte pour une autre solution.
    Je transforme la date en un numero de jour entre 1 et 365, puis je retranche n jours, enfin je reviens en format date jj/MM/yyyy
    C'est pas genial mais ca marche...

    Merci de ton aide!
    Tom

  4. #4
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Dans les deux cas tu es obligé de travailler avec des valeurs entières puis de formater ces valeurs en chaîne de caractères.

    Pour ton cas fais attention que toutes les années ne font pas 365 jours.

    L'implémentation est assez cocasse, je dirais qu'il faut d'abord tenir compte du nombre de jours à retrancher. Si le nombre de jours à oter portent sur plusieurs années, créer une table qui donnent le nombre de jours exacts de chaque année (à cause des années bissextiles) et le nombre de jour de chaque mois.

    Puis avec le résultat de la soustraction déterminer par rapport à la table créer dans quelle année on se situe puis dans quel mois et enfin quel jour.

    Si ta solution convient gardes là. Si jamais tu dois gérer les cas ou la soustraction portent sur plusieurs années en arrière et que tu te dépatouilles pas, je t'aiderai.

    Sinon tu as la classe CTime qui doit gérer ce genre de chose, mais je n'ai pas trop tester car je suis plutôt du genre à réinventer la roue, au moins pour comprendre ce que je fais.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Pour les année bisextiles j'ai obtenu un code ingenieux

    int Bissextile(int annee)
    {
    return((annee % 4 == 0 && annee % 100 != 0) || annee % 400 == 0);
    }

    simplissime mais fallait le cracher
    Bravo à l'auteur dont j'ignore le nom...

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

Discussions similaires

  1. fonction table pour récupérer la liste des jours entre deux dates
    Par elmoul7ak dans le forum Développement
    Réponses: 2
    Dernier message: 01/05/2010, 13h22
  2. [JavaScript] [SRC] Agréments pour manipulation de dates
    Par Oscar Hiboux dans le forum Contribuez
    Réponses: 0
    Dernier message: 03/12/2009, 16h18
  3. [Dates] fonctions pour manipuler les temps
    Par xess91 dans le forum Langage
    Réponses: 20
    Dernier message: 18/04/2009, 23h10
  4. Réponses: 9
    Dernier message: 24/12/2008, 09h21
  5. Réponses: 2
    Dernier message: 01/08/2007, 15h37

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