你先取某一年的第一天为起点。比如2012年第一天是星期日。
在判断这年是否是闰年,(2012年是闰年):
闰年的判断函数:
boolean isLeapYear( int year )
{
return (0==year%4) || (0==year%100 && 0==year%400 );
}
若是闰年,该年有366天,则星期数(如果7代表星期天)加减366%7后模7;
若是平年,该年有365天,则星期数加减365%7模7。
如果是算未来(对2012来说)则加(一年的天数)%7后模7,反之则减(一年的天数)%7后模7。
比如2013年第一天是星期 [ 7+(366)%7]%7;2011年第一天是星期 [7-(365)%7]%7;
Calendar c = Calendar.getInstance();
c.set(2011,0,1);//2011年1月1号
c.get(Calendar.DAY_OF_WEEK);//获取星期,1是周日,2是周1
使用Calendar类
这个类提供了所有关于求日期的方法
看看API 就能学会