retrouver la date à partir du numéro de semaine

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

retrouver la date à partir du numéro de semaine

Message par Patrick88 »

Code : Tout sélectionner

; Formule excel
; =7*(A1-1)+DATE(ANNEE(AUJOURDHUI());1;1)-MOD((DATE(ANNEE(AUJOURDHUI());1;1))-2;7)
; cellule A1 = 38 = 39706 ou 15/09/2008
; 38	39706	15/09/2008
; 
; 	259	 =7*(A1-1)
; 	 + 	
; 	10/12/2008	 =AUJOURDHUI()
; 	2008	 =ANNEE(AUJOURDHUI())
; 	01/01/2008	 =Date(ANNEE(AUJOURDHUI());1;1) = 39448
; 	 - 	
; 	10/12/2008	 =AUJOURDHUI()
; 	2008	 =ANNEE(AUJOURDHUI())
; 	01/01/2008	 =Date(ANNEE(AUJOURDHUI());1;1) = 39448
; 		
; 	01/01/1900	 =MOD((Date(ANNEE(AUJOURDHUI());1;1))-2;7) = 1
; 
; 	17/09/2008	

; Date() ; nombre de secondes écoulées depuis le 1er janvier 1970). 

Procedure.s SemaineVersDate(numero_semaine.b); ,format_retour.b) 
	Protected annee.w, nb_jour.w, date_1erjour_annee.l, date_semaine.s
	
	annee = Year(Date())
	
	nb_jour = 7*(numero_semaine-1)
	date_1erjour_annee = ParseDate("%dd/%mm/%yyyy", "01/01/"+Str(annee))

	date_semaine = FormatDate("%dd/%mm/%yyyy", AddDate(date_1erjour_annee, #PB_Date_Day, nb_jour-1))
	
	;s_result.s = Str(w_annee)+"/"+Str(b_mois)+"/"+Str(b_jour)
	ProcedureReturn date_semaine
EndProcedure

Debug SemaineVersDate(38)
Debug SemaineVersDate(2)