Tom's Guide > Forum > Programmation > Calculs sur les dates en C

Calculs sur les dates en C

Forum Programmation : Calculs sur les dates en C

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour,
Je ne suis pas très calé en C, et je cherche une fonction qui permet des calculs sur les dates :
Date +/- n jours notamment ( avec format de date JJ/MM/AAA en entrée et en sortie )
J'ai regardé les fonctions permettant de traduire des dates, faire la différence entre deux dates,..., mais n'ai rien trouvé sur ce type de calcul.
Avez-vous une idée ?
Merci d'avance.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

$> man 3 time

------------------------------ Don't panic!
mouths91 à dit : "[...]des rageux comme kelnem"
Répondre à Vinz42

Je n'ai rien trouvé qui répond à mon problème ( c'est un pgm C pour UNIX ) . Quelqu'un a-t-il une idée ?
Merci d'avance

Répondre à Speedycool@IDN

L'affichage de la date dépendent du pays, c'est donc la partie "locale" du C.
Tu peux utiliser: strftime(...)
ou bien, si tu as récupérer un time_t avec la fonction time(...), tu peux faire un appel à ctime() qui te retourne la jolie chaîne formatée en style UNIX selon les paramètres locaux.

PS: La région locale peut être changée avec un appel à setlocale()

Répondre à CRicky

cricky, tu sais pas lire. il cherche qqchose pour faire des opérations sur les dates ! pas les afficher.
Le robot sait lire LUI ! :P

Répondre à Vinz42

Ouais j'ai lu de travers un mot sur 10, ça marche pas tout le temps :D

Allez je me rattrape : il suffit de faire les additions avec des time_t, utiliser mktime() pour construire ces time_t, et strftime() pour retrouver la date :kaola:


Message édité par CRicky le 12-10-2006 à 19:44:05
Répondre à CRicky

Oui, mais le format d'entrée de mes dates est JJ/MM/AAAA ( ou AAAA/MM/JJ ) ... comment les traduite en format time_t ? Mktime ne fonctionne pas dans ce cas là ....

Répondre à Speedycool@IDN

Dans "JJ/MM/AAAA", tu extrais JJ, MM et AAAA, un coup de atoi() pour transformer en entiers, tu peux alors remplir la structure tm utilisé par mktime().
ça fait quelques traitements à faire, mais pas autant que si t'avais tout à coder ;)

Répondre à CRicky
Tom's Guide > Forum > Programmation > Calculs sur les dates en C
Aller à :

Il y a 2125 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens