Gladir.com - LotusScript - Temps - Calendrier


Autrefois, système de mesure pour les phases lunaires, il devient par la suite un instrument de mesure pour s'immortalisé avec les empereurs romains Jules César et Auguste, il s'agit bien sure du calendrier. Bien qu'à l'origine on utilisait un calendrier Julien, on utilise maintenant le calendrier grégorien. A l'aide du code source LotusScript suivant, vous trouverez un calendrier grégorien correspondant à la réponse que vous souhaitez:
Function IsLeapYear(Byval Yr As Integer) As Integer
     IsLeapYear = ((Yr And 3) = 0) And ((Yr Mod 100 <> 0) Or (Yr Mod 400 = 0))
End Function 

Function DateToDayOfWeek(Y As Integer,M As Integer,D As Integer)  As Integer
     Dim T0 As Integer
     Dim T1 As Integer
     Dim T2 As Integer
     Dim Total As Integer
     If(M > 12) Or (0 = M) Or (0 = D)Then DateToDayOfWeek=0:Exit Function
     If Y < 0 Then Y = y + 1
     T0 = Int(0.6 + 1 / M)
     T1 = M + 12 * T0
     T2 = Y - T0
     Total = Int(13 * (T1 + 1) / 5) + Int(5 * T2 / 4) - Int(T2 / 100) + Int(T2 / 400) + D - 1
     DateToDayOfWeek = Total - 7 * Int(Total / 7)
End Function

Sub PutCalendar(Yr As Integer,Mh As Integer,Dy As Integer)
     Dim Days(1 To 12) As Integer
     Dim D As Integer
     Days(1) = 31
     Days(2) = 28
     Days(3) = 31
     Days(4) = 30
     Days(5) = 31
     Days(6) = 30
     Days(7) = 31
     Days(8) = 31
     Days(9) = 30
     Days(10) = 31
     Days(11) = 30
     Days(12) = 31
     If IsLeapYear(Yr)Then  Days(2) = 29
     D = DateToDayOfWeek(Yr, Mh, 1)
     Print "Diman Lundi Mardi Mercr Jeudi Vendr Samed"
     Print Space$(6 * D);
     For I = 1 To Days(Mh)
          If I < 10 Then Print " ";
          Print Str$(I) &Space$(4);
          If(0 = (D + I) Mod 7)  Then Print
     Next
     Print
     Print
End Sub

Function MonthName(Mh As Integer)  As String
     Select Case Mh 
     Case 1:MonthName="Janvier"
     Case 2:MonthName="Février"
     Case 3:MonthName="Mars"
     Case 4:MonthName="Avril"
     Case 5:MonthName="Mai"
     Case 6:MonthName= "Juin"
     Case 7:MonthName="Juillet"
     Case 8:MonthName="Août"
     Case 9:MonthName= "Septembre"
     Case 10:MonthName= "Octobre"
     Case 11:MonthName= "Novembre"
     Case 12:MonthName="Décembre"
     Case Else: MonthName=""
     End Select
End Function

Sub Main()
     Dim I As Integer
     For I = 1 To 12
          Print MonthName(I) &" 2008"
          Print
          Call PutCalendar(2008, I, 3)
     Next
End Sub
on obtiendra le résultat suivant:
			
Janvier 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
             1     2     3     4     5    
 6     7     8     9    10    11    12    
13    14    15    16    17    18    19    
20    21    22    23    24    25    26    
27    28    29    30    31    
Février 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
                               1     2    
 3     4     5     6     7     8     9    
10    11    12    13    14    15    16    
17    18    19    20    21    22    23    
24    25    26    27    28    29    
Mars 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
                                     1    
 2     3     4     5     6     7     8    
 9    10    11    12    13    14    15    
16    17    18    19    20    21    22    
23    24    25    26    27    28    29    
30    31    
Avril 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
             1     2     3     4     5    
 6     7     8     9    10    11    12    
13    14    15    16    17    18    19    
20    21    22    23    24    25    26    
27    28    29    30    
Mai 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
                         1     2     3    
 4     5     6     7     8     9    10    
11    12    13    14    15    16    17    
18    19    20    21    22    23    24    
25    26    27    28    29    30    31    

Juin 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
 1     2     3     4     5     6     7    
 8     9    10    11    12    13    14    
15    16    17    18    19    20    21    
22    23    24    25    26    27    28    
29    30    
Juillet 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
             1     2     3     4     5    
 6     7     8     9    10    11    12    
13    14    15    16    17    18    19    
20    21    22    23    24    25    26    
27    28    29    30    31    
Août 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
                               1     2    
 3     4     5     6     7     8     9    
10    11    12    13    14    15    16    
17    18    19    20    21    22    23    
24    25    26    27    28    29    30    
31    
Septembre 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
       1     2     3     4     5     6    
 7     8     9    10    11    12    13    
14    15    16    17    18    19    20    
21    22    23    24    25    26    27    
28    29    30  
   Octobre 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
                   1     2     3     4    
 5     6     7     8     9    10    11    
12    13    14    15    16    17    18    
19    20    21    22    23    24    25  
   26    27    28    29    30    31    
Novembre 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
                                     1    
 2     3     4     5     6     7     8    
 9    10    11    12    13    14    15    
16    17    18    19    20    21    22    
23    24    25    26    27    28    29    
30    
Décembre 2008
Diman Lundi Mardi Mercr Jeudi Vendr Samed
       1     2     3     4     5     6    
 7     8     9    10    11    12    13    
14    15    16    17    18    19    20    
21    22    23    24    25    26    27    
28    29    30    31


Dernière mise à jour: Mardi, le 7 février 2006