[C++] Comment, d'apres une date, avoir le numero de la semaine ?

Comment, d'apres une date, avoir le numero de la semaine ? [C++] - Programmation

Marsh Posté le 05-11-2001 à 14:55:39    

Bonne question hein ? :D

Reply

Marsh Posté le 05-11-2001 à 14:55:39   

Reply

Marsh Posté le 05-11-2001 à 15:32:32    

1ère possibilité, tu réecris toutes les fonctions de gestion des dates --> rdv dans qqs mois :D
 
2ème possibilité, t'utilises des objets des MFC si t sous windows. CTime ou COleDateTime te donnent pas exactement la semaine, mais ils peuvent beaucoup t'aider... cherches de ce coté ci...

Reply

Marsh Posté le 05-11-2001 à 15:37:34    

DRAFDM ?

Reply

Marsh Posté le 05-11-2001 à 15:55:23    

ha oui, totalement d'accord Koulip, j'dirais même plus, DRAFDMMFEZXXXEBVT, non ?

Reply

Marsh Posté le 06-11-2001 à 08:12:15    

:lol:
 
Pour les MFC j'ai pas encore envie de m'y mettre :D
 
Nan bon ben chrisbk m'avait file un bout de code, je crois que je vais m'y tenir pour le moment merci ;)

Reply

Marsh Posté le 06-11-2001 à 09:37:47    

La fonction mktime (time.h) permet d'obtenir un timer d'une date quelconque, une semaine c'est 7 jours soit
7*24*60*60 secondes
 
struct tm ourRef;
struct tm theDate
 
ourRef.tm_sec = 0;
ourRef.tm_min = 0;
ourRef.tm_hour = 0;
ourRef.tm_mday = 1;
ourRef.tm_mon = 0; //Janvier est 0
ouRef.tm_year = 101;//years since 1900
 
//idem pour theDate
 
ton resultat -> mkTime(theDate)-mkTime(ourRef)/(7*24*60*60);
soit le nombre de semaines ecoulee depuis le 1er Janvier...

Reply

Marsh Posté le 06-11-2001 à 10:15:40    

C'est peut-être un peu plus compliqué si on veut le NUMERO de semaine. Il faut savoir quel est le premier jour de l'année (01 janvier ? :D). Si on commence un lundi, ou un samedi, la semaine 1 n'a pas la même longueur. Mais les semaines 2 à 51 sont pleines.

Reply

Marsh Posté le 06-11-2001 à 10:34:16    

Merci BENB (meme si j'ai deja torche ma fonction :D)
Je crois qu'il y a trop de truc a gere, bref j'ai fait un p'tit truc qui gere vite fait, et fait gaffe aux annees biss (un grand merci a chris encore une fois ;))

Reply

Marsh Posté le 06-11-2001 à 10:43:14    

CARBON_14 a écrit a écrit :

C'est peut-être un peu plus compliqué si on veut le NUMERO de semaine. Il faut savoir quel est le premier jour de l'année (01 janvier ? :D). Si on commence un lundi, ou un samedi, la semaine 1 n'a pas la même longueur. Mais les semaines 2 à 51 sont pleines.  




 
Oui il suffit d'avoir un jour de reference.
Si on decide par exemple que le 6 novembre 2001
est un grodi, alors si on connait le nombre
de jours ecoules (ou de secondes ce qui revient au meme
en divisant par le nombre de secondes par jour qui est une constante definie par la loi je vous le rappelle, ce qui risque de poser des problemes dans un million d'annees quand la Terre aura rallenti sa rotation :D ) depuis le 6 novembre 2001
on sait que si nombre de jours modulo 7 = 0 alors on est un grodi.
 
A+
LEGREG

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed