99 lines
2.8 KiB
Java
99 lines
2.8 KiB
Java
public class Date{
|
|
|
|
// Attribut
|
|
private int jour;
|
|
private int mois;
|
|
private int annee;
|
|
|
|
// Constructeur
|
|
public Date(int jour, int mois, int annee){
|
|
this.jour = jour;
|
|
this.mois = mois;
|
|
this.annee = annee;
|
|
}
|
|
|
|
// Méthode pour afficher la date
|
|
public String toString() {
|
|
return String.format("%d/%02d/%02d", this.annee, this.mois, this.jour); // Format ISO 8601 = AAAA/MM/JJ;
|
|
}
|
|
|
|
// Méthode pour donner le lendemain d'une date
|
|
public Date lendemain() {
|
|
int jourLendemain = this.jour;
|
|
int moisLendemain = this.mois;
|
|
int anneeLendemain = this.annee;
|
|
|
|
if(this.mois == 1 || this.mois == 3 || this.mois == 5 || this.mois == 7 || this.mois == 8 || this.mois == 10 || this.mois == 12){
|
|
if (this.jour == 31) {
|
|
jourLendemain = 1;
|
|
if (this.mois == 12) {
|
|
moisLendemain = 1;
|
|
anneeLendemain += 1;
|
|
} else {
|
|
moisLendemain += 1;
|
|
}
|
|
} else {
|
|
jourLendemain += 1;
|
|
}
|
|
}else{
|
|
if (this.jour == 30) {
|
|
jourLendemain = 1;
|
|
if (this.mois == 12) {
|
|
moisLendemain = 1;
|
|
anneeLendemain += 1;
|
|
} else {
|
|
moisLendemain += 1;
|
|
}
|
|
} else {
|
|
jourLendemain += 1;
|
|
}
|
|
}
|
|
|
|
return new Date(jourLendemain, moisLendemain, anneeLendemain);
|
|
}
|
|
|
|
public Date comparerDate(Date date1, Date date2){
|
|
// Si l'année de la date 1 est plus grande que l'année de la date 2
|
|
if(date1.annee > date2.annee){
|
|
return date1;
|
|
}
|
|
|
|
// Si l'année de la date 2 est plus grande que l'année de la date 1
|
|
if(date1.annee < date2.annee){
|
|
return date2;
|
|
}
|
|
|
|
// Si l'année de la date 1 est égale à l'année de la date 2 = on ne peut pas se fier à l'année et on passe aux mois
|
|
if(date1.annee == date2.annee){
|
|
if(date1.mois > date2.mois){
|
|
return date1;
|
|
}
|
|
if(date1.mois < date2.mois){
|
|
return date2;
|
|
}
|
|
if(date1.mois == date2.mois){
|
|
if(date1.jour > date2.jour){
|
|
return date1;
|
|
}
|
|
if(date1.jour < date2.jour){
|
|
return date2;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
Date date = new Date(31,12,2024);
|
|
Date dateLendemain = date.lendemain();
|
|
|
|
System.out.println("Aujourd'hui : " + date);
|
|
System.out.println("Demain : " + dateLendemain);
|
|
|
|
System.out.println(date.comparerDate(date,dateLendemain));
|
|
}
|
|
|
|
} |