我刚刚想到一个方法,大家交流一下:
获取一年中任何一个月的任何一天是星期几的主要代码
public static String getYear(int year,int month,int day){
String[] weekday=new String[]{"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
Calendar c = Calendar.getInstance();
c.set(year,month-1,day);
int week = c.get(Calendar.DAY_OF_WEEK);
return weekday[week-1];
} 作者: 李文帅 时间: 2013-10-20 18:32
因为计算机中的时间是从1900年1月1日开始计算的,并且1900年1月1日是星期一,所以要求出某年某月某日是星期几则需要计算出该时间到1900年 1月1日一共有多少天,然后除以7求余数,如果余数为1,则为星期一,以此类推
public static String getDayth(int year,int month,int day){
int days = 0; //定义变量days记录总天数
String dayth=null; //定义变量dayth记录星期几,用于返回结果
for(int i=1900;i<y;i++){ //用于计算从1900年到year年一共多少天
if((i%4==0&&i%100!=0)||(i%400==0))
days += 366;
else
days += 365;
}
switch(m-1){ //switch语句块用于计算m-1个月的天数累加到days上
case 11:
days += 30;
case 10:
days += 31;
case 9:
days += 30;
case 8:
days += 31;
case 7:
days += 31;
case 6:
days += 30;
case 5:
days += 31;
case 4:
days += 30;
case 3:
days += 31;
case 2:
if((y%4==0&&y%100!=0)||(y%400==0))
days += 29;
else
days += 28;
case 1:
days += 31;
}
days = days+d; //累加上本月的天数
switch(days%7){ //根据余数判断该日期是星期几
case 1:
dayth="星期一";
break;
case 2:
dayth="星期二";
break;
case 3:
dayth="星期三";
break;
case 4:
dayth="星期四";
break;
case 5:
dayth="星期五";
break;
case 6:
dayth="星期六";
break;
default:
dayth="星期日";
}
return dayth;
} 作者: 中山狼 时间: 2013-10-20 22:53