Section courante

A propos

Section administrative du site

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 QuickBASIC suivant, vous trouverez la réponse que vous souhaitez :

  1. DECLARE FUNCTION IsLeapYear! (year!)
  2. DECLARE FUNCTION FirstDayOfMonth! (year!, month!)
  3. FOR year = 2000 TO 2001
  4.  FOR month = 1 TO 12
  5.   PRINT "Année " + STR$(year) + ", mois " + STR$(month) + ", jour du premier du mois: " + STR$(FirstDayOfMonth(year, month))
  6.  NEXT
  7. NEXT
  8.  
  9. FUNCTION FirstDayOfMonth (year, month)
  10.  NumberOfDay = 1
  11.  DIM DayInMonth(12)
  12.  DayInMonth(1) = 31
  13.  DayInMonth(2) = 28
  14.  DayInMonth(3) = 31
  15.  DayInMonth(4) = 30
  16.  DayInMonth(5) = 31
  17.  DayInMonth(6) = 30
  18.  DayInMonth(7) = 31
  19.  DayInMonth(8) = 31
  20.  DayInMonth(9) = 30
  21.  DayInMonth(10) = 31
  22.  DayInMonth(11) = 30
  23.  DayInMonth(12) = 31
  24.  FOR I = 1 TO month - 1
  25.  IF (I = 2) AND (IsLeapYear(year)) THEN NumberOfDay = NumberOfDay + 1
  26.   NumberOfDay = NumberOfDay + DayInMonth(I)
  27.  NEXT
  28.  FirstDayOfMonth = NumberOfDay
  29. END FUNCTION
  30.  
  31. FUNCTION IsLeapYear (year)
  32.  IsLeapYear = ((year AND 3) = 0) AND ((year MOD 100 <> 0) OR (year MOD 400 = 0))
  33. END FUNCTION

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

Langage de programmation - ColdFusion - Référence de procédures et fonctions - FIRSTDAYOFMONTH

Dernière mise à jour : Mercredi, le 14 septembre 2016