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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| import java.util.*;
public class DateBasicJourSuivantEleve {
//Calcul du nombre de jour dans un mois donne d'une annee donnee
//methode de classe !
static int j_d_m(int leMois, int lAnnee){
//Entrees - leMois : mois codé par un entier allant de 1 à 12
// lAnnée : l'année
//Sortie : le nombre de jours pour le mois de l'année donnés (année bissextile ou non)
int j_d_m;
if(leMois==1||leMois==3||leMois==5||leMois==7||leMois==8||leMois==10||leMois==12)
j_d_m=31;
else j_d_m=30;
//if(leMois==4||leMois==6||leMois==9||leMois==11)j_d_m = 30;
if(leMois==2) {
if(lAnnee%4!=0||(lAnnee%100==0&&lAnnee%400!=0)) j_d_m=28;
else j_d_m=29;
}
//
return j_d_m;
}//j_d_m
public static void main(String [] args) {
Date maintenant;
long tdebut,tempsCourant = System.currentTimeMillis ();
int diftemp, d,m,a,da,h,min,sec;
maintenant = new Date();
GregorianCalendar Calendar = new GregorianCalendar();
Calendar.setTime(maintenant);
a=Calendar.get(Calendar.YEAR); // année
m=Calendar.get(Calendar.MONTH); // mois de 0 à 11 et non 1 à 12 !!!!
//(la raison de ce codage m'est inconnue mais je conserve cette notation)
da=Calendar.get(Calendar.DAY_OF_MONTH); // jour du mois 1 à 31
d=Calendar.get(Calendar.DAY_OF_WEEK); // jour de la semaine de 1 à 7
// h=Calendar.get(Calendar.HOUR); // heure de 0 à 11
h=Calendar.get(Calendar.HOUR_OF_DAY); // heure de 0 à 23
min=Calendar.get(Calendar.MINUTE); // minutes de 0 à 59
sec=Calendar.get(Calendar.SECOND); // secondes de 0 à 59
// affichage de la date
System.out.println(String.valueOf(da)+"/"+String.valueOf(m+1)+"/"+String.valueOf(a));
System.out.println(jour[d]+" "+ String.valueOf(da)+" "+ mois[m]+" "+String.valueOf(a));
//Test j_d_m
System.out.println("Le nombre de jours dans le mois " + 1 + " de l'année " + 2002 + " est :" + j_d_m(1, 2002));
System.out.println("Le nombre de jours dans le mois " + 2 + " de l'année " + 2002 + " est :" + j_d_m(2, 2002));
System.out.println("Le nombre de jours dans le mois " + 4 + " de l'année " + 2002 + " est :" + j_d_m(4, 2002));
System.out.println("Le nombre de jours dans le mois " + 12+ " de l'année " + 2002 + " est :" + j_d_m(12,2002));
System.out.println("Le nombre de jours dans le mois " + 2 + " de l'année " + 2004 + " est :" + j_d_m(2, 2004));
System.out.println("Le nombre de jours dans le mois " + 2 + " de l'année " + 2000 + " est :" + j_d_m(2, 2000));
System.out.println("Le nombre de jours dans le mois " + 2 + " de l'année " + 2100 + " est :" + j_d_m(2, 2100));
// affichage des dates suivantes
for(int i = 1; i <= 80; i++) {
da++;
if(da==32 && (m==0||m==2||m==4||m==6||m==7||m==9||m==11))
{da=1;m++;}
else{
if((m==3||m==5||m==8||m==10)&&da==31) {da=1;m++;}
else
{
if((a%4!=0||(a%100==0&&a%400!=0))&&da==29 &&m==1) {da=1;m++;}
else {
if(m==11&&da==32){m=0;d=1;a++;}
} } }
System.out.println(String.valueOf(da)+"/"+String.valueOf(m+1)+"/"+String.valueOf(a));
}//for
}//main
private final static String jour[] = {
" ","dimanche","lundi", "mardi", "mercredi", "jeudi","vendredi",
"samedi"
};
private final static String mois[] = {
"janvier", "févier", "mars", "avril", "mai", "juin",
"juillet", "août", "septembre", "octobre", "novembre", "décembre"
};
} //DateBasicJourSuivantEleve |
Partager