Accueil de Gladir.com Notes légales de Gladir.com Flux RSS des nouvelles du site Gladir.com - Langage de programmation - Perl - Temps - Calendrier Section du logiciel DOS «MonsterBook» Inventaire de la bibliothèque de Gladir.com Entrée administrateur

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 Perl suivant, vous trouverez un calendrier grégorien correspondant à la réponse que vous souhaitez :

  1. #!/usr/bin/perl
  2.  
  3. sub IsLeapYear($) {
  4.  my ($Year) = @_;
  5.  return ((($Year & 3) == 0) && (($Year % 100 != 0) || ($Year % 400 == 0)));
  6. }
  7.  
  8. sub DateToDayOfWeek($$$) {
  9.  my ($Y,$M,$D) = @_;
  10.  if(($M > 12) || (0 == $M) || (0 == $D)) {
  11.   return 0;
  12.  }
  13.  if($Y < 0) {
  14.   $Y++;
  15.  }
  16.  my $T0 = int(0.6 + 1 / $M);
  17.  my $T1 = $M + 12 * $T0;
  18.  my $T2 = $Y - $T0;
  19.  my $Total = int(13 * ($T1 + 1) / 5) + int(5 * $T2 / 4) - int($T2 / 100) + int($T2 / 400) + $D - 1;
  20.  return $Total - 7 * int($Total / 7);
  21. }
  22.  
  23. sub PutCalendar($$$) {
  24.  my ($Year,$Month,$Day) = @_;
  25.  my @Days = (
  26.   0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
  27.  );
  28.  if(&IsLeapYear($Year)) {
  29.   $Days[2] = 29;
  30.  }
  31.  my $D = &DateToDayOfWeek($Year, $Month, 1);
  32.  
  33.  print "Diman Lundi Mardi Mercr Jeudi Vendr Samed\n";
  34.  print " " x (6 * $D);
  35.  for(my $I = 1;$I <= $Days[$Month]; $I++) {
  36.     print $I < 10 ? " " : "";
  37.     print $I," " x 4;
  38.     if(0 == ($D + $I) % 7) {
  39.          print "\n";
  40.     }
  41.  }
  42.  print "\n";
  43. }
  44.  
  45. sub MonthName($) {
  46.   my ($Month) = @_;
  47.   if($Month == 1) {
  48.      return "Janvier";
  49.   } elsif($Month == 2) {
  50.      return "Février";
  51.   } elsif($Month == 3) {
  52.      return "Mars";
  53.   } elsif($Month == 4) {
  54.      return "Avril";
  55.   } elsif($Month == 5) {
  56.      return "Mai";
  57.   } elsif($Month == 6) {
  58.      return "Juin";
  59.   } elsif($Month == 7) {
  60.      return "Juillet";
  61.   } elsif($Month == 8) {
  62.      return "Août";
  63.   } elsif($Month == 9) {
  64.      return "Septembre";
  65.   } elsif($Month == 10) {
  66.      return "Octobre";
  67.   } elsif($Month == 11) {
  68.      return "Novembre";
  69.   } elsif($Month == 12) {
  70.      return "Décembre";
  71.   }
  72.   return "";
  73. }
  74.  
  75. for(my $I = 1; $I <= 12; $I++) {
  76.    print MonthName($I)." 2008\n";
  77.    &PutCalendar(2008, $I, 3);
  78. }

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 3 janvier 2012