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
| public class Date
{
private java.util.Date date = null;
private static final SimpleDateFormat FORMATTAGE_jjMMaa = new SimpleDateFormat(
"dd/MM/yy");
private static final SimpleDateFormat FORMATTAGE_jjMoiaa = new SimpleDateFormat(
"dd MMMMMM yy", Locale.FRANCE);
public Date()
{
date = new java.util.Date();
}
public void setDate(int jour, int mois, int annee)
{
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, annee);
calendar.set(Calendar.MONTH, entre(1,mois,12) - 1);
calendar.set(Calendar.DAY_OF_MONTH, entre(1,jour, nbJoursMois(entre(1,mois,12), annee)));
date = calendar.getTime();
}
private int entre(int min, int val, int max) {
return Math.min(Math.max(min,val),max);
}
public String toFormat1()
{
return FORMATTAGE_jjMMaa.format(date);
}
public String toFormat2()
{
return FORMATTAGE_jjMoiaa.format(date);
}
public static void main(String[] args)
{
Date maDate = new Date();
System.out.println("La date du constructeur : " + maDate.toFormat1());
maDate.setDate(100, 2, 2004);
System.out.println("La date d'aujourd'hui au format 1 : "
+ maDate.toFormat1());
System.out.println("La date d'aujourd'hui au format 2 : "
+ maDate.toFormat2());
}
private int nbJoursMois(int mois, int annee)
{
int nbJourMois = 1;
switch (mois)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
if (anneeBissextile(annee))
{
return 29;
}
return 28;
}
return nbJourMois;
}
private boolean anneeBissextile(int annee)
{
return annee % 4 == 0 && (annee % 100 != 0 || annee % 400 == 0);
}
} |
Partager