|
Dans des langages de programmation Web comme ColdFusion, il existe de nombreuses fonctions de date inexistante dans d'autres langages.
Une de celle-ci est la fonction du premier jour du mois depuis le début de l'année (FirstDayOfMonth). Permettant de connaitre ceci:
| 1 |
1 |
1 |
Janvier |
31 |
| 32 |
32 |
2 |
Février |
28/29 |
| 60 |
61 |
3 |
Mars |
31 |
| 91 |
92 |
4 |
Avril |
30 |
| 121 |
122 |
5 |
Mai |
31 |
| 152 |
153 |
6 |
Juin |
30 |
| 182 |
183 |
7 |
Juillet |
31 |
| 213 |
214 |
8 |
Août |
31 |
| 244 |
245 |
9 |
Septembre |
30 |
| 274 |
275 |
10 |
Octobre |
31 |
| 305 |
306 |
11 |
Novembre |
30 |
| 335 |
336 |
12 |
Décembre |
31 |
A l'aide du code source Pascal suivant, vous trouverez la réponse que vous souhaitez:
Program FirstDayOfMonth;
Function IsLeapYear(Year:Integer):Boolean;Begin
IsLeapYear:=((Year AND 3) = 0) AND ((Year MOD 100 <> 0) OR (Year MOD 400 = 0));
End;
Function FirstDayOfMonth(Year,Month:Integer):Integer;
Const
DayInMonth:Array[1..12]of Byte=(31,28,31,30,31,30,31,31,30,31,30,31);
Var
NumberOfDay,I:Integer;
Begin
NumberOfDay:=1;
For I:=1 to Month-1do Begin
If(I=2)and(IsLeapYear(Year))Then NumberOfDay := NumberOfDay + 1;
NumberOfDay := NumberOfDay + DayInMonth[I];
End;
FirstDayOfMonth:=NumberOfDay;
End;
Var
Year,Month:Integer;
BEGIN
For Year:=2000 to 2001 do Begin
For Month:=1 to 12 do Begin
WriteLn('Année ',Year,', mois ',Month,', jour du premier du mois: ',FirstDayOfMonth(Year,Month));
End;
End;
END.
|
on obtiendra le résultat suivant:
Année 2000, mois 1, jour du premier du mois: 1
Année 2000, mois 2, jour du premier du mois: 32
Année 2000, mois 3, jour du premier du mois: 61
Année 2000, mois 4, jour du premier du mois: 92
Année 2000, mois 5, jour du premier du mois: 122
Année 2000, mois 6, jour du premier du mois: 153
Année 2000, mois 7, jour du premier du mois: 183
Année 2000, mois 8, jour du premier du mois: 214
Année 2000, mois 9, jour du premier du mois: 245
Année 2000, mois 10, jour du premier du mois: 275
Année 2000, mois 11, jour du premier du mois: 306
Année 2000, mois 12, jour du premier du mois: 336
Année 2001, mois 1, jour du premier du mois: 1
Année 2001, mois 2, jour du premier du mois: 32
Année 2001, mois 3, jour du premier du mois: 60
Année 2001, mois 4, jour du premier du mois: 91
Année 2001, mois 5, jour du premier du mois: 121
Année 2001, mois 6, jour du premier du mois: 152
Année 2001, mois 7, jour du premier du mois: 182
Année 2001, mois 8, jour du premier du mois: 213
Année 2001, mois 9, jour du premier du mois: 244
Année 2001, mois 10, jour du premier du mois: 274
Année 2001, mois 11, jour du premier du mois: 305
Année 2001, mois 12, jour du premier du mois: 335
|
Voir également
ColdFusion - Référence de procédures et fonctions - FIRSTDAYOFMONTH
|