//源码类
package day2.homework1;
public class MyCalendar {
MyDate date1;
MyDate date2;
public MyCalendar(MyDate date1, MyDate date2) {
super();
this.date1 = date1;
this.date2 = date2;
}
public int getDays() {
int count=0;
/**
* 计算某年-某年的具体天数
*/
for(int i=date1.year;i
{
count+=getDaysOfYear(i);
}
/**
* 对最后一年的月份进行相加
*/
for(int i=1;i
{
count+=getDaysOfMonth(date2.year,i);
}
/**
* 加入最后一年的天数
*/
count+=date2.day;
/**
* 对第一年的时间进行做减法
*/
for(int i=1;i
{
count-=getDaysOfMonth(date1.year,i);
}
count-=date1.day;
return count;
}
/**
* 获取每个月的天数
* @param month
* @return
*/
public int getDaysOfMonth(int year,int month) {
int count=0;
switch(month)
{
case 1:
count=31;
break;
case 2:
if(checkLeap(year))
{
count=29;
}
else
{
count=28;
}
break;
case 3:
count=31;
break;
case 4:
count=30;
break;
case 5:
count=31;
break;
case 6:
count=30;
break;
case 7:
count=31;
break;
case 8:
count=31;
break;
case 9:
count=30;
break;
case 10:
count=31;
break;
case 11:
count=30;
break;
case 12:
count=31;
break;
}
return count;
}
/**
* 获取某年的天数
* @param year
* @return
*/
public int getDaysOfYear(int year) {
int count=365;
if(checkLeap(year))
{
count=366;
}
return count;
}
/**
* 获取该年是否是闰年
* @param year
* @return
*/
public boolean checkLeap(int year) {
boolean flag=false;
if(0==year%4&&0!=year%100||0==year%400)
{
flag =true;
}
return flag;
}
}