随便给你一个日期(例如2009-8-20),问这一天是否是“星期六”?
问我的时候没什么思路,回来也没太想明白?
相关链接 | 版本说明 | 下载地址 |
---|---|---|
Java SE Development Kit 7 | 官方正式版 | 查看 |
Java SE Runtime Environment(JRE7 64位版) | 71多语官方安装版 | 查看 |
JD-GUI(Java反编译工具 | 绿色免费版 | 查看 |
JDK 6(Java SE Development Kit) | 64位版 | 查看 |
Java SE Development Kit (JDK7) | 7u67官方正式版 | 查看 |
Java Runtime Environment(JRE7) | 官方最新版 | 查看 |
算也行.
Java code public int getWeek(int dYear,int dMonth,int dDay){
int days=0;
int[] months=;
if(dYear%400==0||dYear%4==0&&dYear%100!=0){
months[2]=29;
}
days=dYear*365+(dYear-1)/4-(dYear-1)/100+(dYear-1)/400;
for(int i=1;i<dMonth;i++){
days+=months[i];
}
days+=dDay+6;
return (days)%7;
}
解释一下:days=dYear*365+(dYear-1)/4-(dYear-1)/100+(dYear-1)/400;
以公元0年为基准,看过了多少年。
1.每一年按365天算。
2.做调整,看经过了多少闰年。按闰年的规律做相应的调整。
dDay+6是因为0年1月1日是星期六。(这个可以不知道,但可以一个一个试出来,比如你假设是星期日,算出来的结果不对,你调整一下就对了)