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 :
Année normal | Année bissextile | Position du mois | Mois | Jour/Mois |
---|---|---|---|---|
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 Liberty BASIC suivant, vous trouverez la réponse que vous souhaitez :
- FOR year=2000 TO 2001
- FOR month=1 TO 12
- PRINT "Année "+STR$(year)+", mois "+STR$(month)+", jour du premier du mois: "+STR$(FirstDayOfMonth(year,month))
- NEXT
- NEXT
-
- FUNCTION IsLeapYear(year)
- IsLeapYear = ((year AND 3) = 0) AND ((year MOD 100 <> 0) OR (year MOD 400 = 0))
- END FUNCTION
-
- FUNCTION FirstDayOfMonth(year,month)
- NumberOfDay=1
- DIM DayInMonth(12)
- DayInMonth(1)=31
- DayInMonth(2)=28
- DayInMonth(3)=31
- DayInMonth(4)=30
- DayInMonth(5)=31
- DayInMonth(6)=30
- DayInMonth(7)=31
- DayInMonth(8)=31
- DayInMonth(9)=30
- DayInMonth(10)=31
- DayInMonth(11)=30
- DayInMonth(12)=31
- FOR I=1 TO month-1
- IF (I=2) AND (IsLeapYear(year))THEN NumberOfDay = NumberOfDay + 1
- NumberOfDay = NumberOfDay + DayInMonth(I)
- NEXT
- FirstDayOfMonth = NumberOfDay
- END FUNCTION
on obtiendra le résultat suivant:
Année 2000, mois 1, jour du premier du mois: 1Anné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
Dernière mise à jour : Samedi, le 23 août 2014