Date divers
Publié : lun. 03/oct./2005 20:51
2 fonctions sur les dates
Code : Tout sélectionner
Procedure.s FrenchDate(date) ;/ Renvoie la Date au format texte : Ex : Vendredi 3 Février 2005
Select DayOfWeek(date)
Case 0
Temp.s+"Dimanche"
Case 1
Temp.s+"Lundi"
Case 2
Temp.s+"Mardi"
Case 3
Temp.s+"Mercredi"
Case 4
Temp.s+"Jeudi"
Case 5
Temp.s+"Vendredi"
Case 6
Temp.s+"Samedi"
EndSelect
Temp2.s=FormatDate("%dd", date)
If Left(Temp2,1)="0" : Temp2=Right(Temp2,1) : EndIf
Temp+" "+Temp2+" "
Select Month(date)
Case 1
Temp+"Janvier"
Case 2
Temp+"Février"
Case 3
Temp+"Mars"
Case 4
Temp+"Avril"
Case 5
Temp+"Mai"
Case 6
Temp+"Juin"
Case 7
Temp+"Juillet"
Case 8
Temp+"Aout"
Case 9
Temp+"Septembre"
Case 10
Temp+"Octobre"
Case 11
Temp+"Novembre"
Case 12
Temp+"Décembre"
EndSelect
Temp+FormatDate(" %yyyy",date)
ProcedureReturn Temp
EndProcedure
Procedure Week(date);/ Renvoie le n° de la semaine de la date donnée en paramètre
Compteur=Date(Year(date),1,1,0,0,1) ;/ Jour de l'an
;/ On se positionne au 1° dimanche après le jour de l'an
Repeat
If DayOfWeek(Compteur)=0 : Break : EndIf
Compteur=AddDate(Compteur,#PB_Date_Day,1)
ForEver
;/ On incrément d'une semaine / à chaque fois on teste si dépassement de la date donnée
Repeat
Semaine+1
; Debug FrenchDate(Compteur)
If Compteur>date : Break : EndIf
Compteur=AddDate(Compteur,#PB_Date_Week,1)
ForEver
ProcedureReturn Semaine
EndProcedure
;/ Test
MessageRequester("Test Date","Semaine n° "+Str(Week(Date()))+#CRLF$+FrenchDate(Date()),#MB_ICONINFORMATION)