class Date2 extends Date1 { public Date2(int day,int month,int year) throws DateException { super(day,month,year); } public int getYear() { int year=days/365; int day=days%365; if(year!=0) day-=(year-1)/4; if(day<=0) { if((year-1)%4==0) day+=366; else day+=365; year--; } return year+1900; } public int getMonth() { int year=days/365; int day=days%365; int month; if(year!=0) day-=(year-1)/4; if(day<=0) { if((year-1)%4==0) day+=366; else day+=365; year--; } if(day<=31) month=1; else if(day<=59) month=2; else if(year%4==0&&day==60&&year!=0) month=2; else { if(year%4==0&&year!=0) day-=60; else day-=59; if(day<=31) month=3; else if(day<=61) month=4; else if(day<=92) month=5; else if(day<=122) month=6; else if(day<=153) month=7; else if(day<=184) month=8; else if(day<=214) month=9; else if(day<=245) month=10; else if(day<=275) month=11; else month=12; } return month; } public int getDay() { int year=days/365; int day=days%365; if(year!=0) day-=(year-1)/4; if(day<=0) { if((year-1)%4==0) day+=366; else day+=365; year--; } if(day>31) if(day<=59) day-=31; else if(year%4==0&&day==60&&year!=0) day=29; else { if(year%4==0&&year!=0) day-=60; else day-=59; if(day>31) if(day<=61) day-=31; else if(day<=92) day-=61; else if(day<=122) day-=92; else if(day<=153) day-=122; else if(day<=184) day-=153; else if(day<=214) day-=184; else if(day<=245) day-=214; else if(day<=275) day-=245; else day-=275; } return day; } }