Java:求一个日期是星期几

以1980年1月1日(星期二)为起始日,如果计算至该日期的天数,就可以知道该日期是星期几。求总天数的计算公式如下:
总天数=平年的天数累计量+闰年的天数累积量+当年的前几个月的累积天数+本月天数
求total(总天数的值):
total=year-1980+(year-1980+3)/4+当年的前几个月的累积天数+本月天数;
不需要具体的计算天数,因为平年是365天,闰年是366天,365%7=1,所以平年的总天数每年只需要累积1,闰年累积2即可.

package mypackage;

public class Hello {
	public static void main(String[] args) {
		int year=2019,month=9,day=15;
		boolean leap=year%400==0||year%100!=0&&year%4==0; //判断当年是否为闰年
		int total=year-1980+(year-1980+3)/4;//前几年的天数累积量
		for(int i=month-1;i>0;i--){
			switch(i){
			case 1:case 3:case 5:case 7:case 8:case 10:total+=31;break;
			case 4:case 6:case 9:case 11:total+=30;break;
			case 2:total+=leap?29:28;
			}
		}
		total+=day;
		int week=1;
		week=(week+total)%7;
		System.out.print(year+"年"+month+"月"+day+"日  星期");
		switch(week){
		case 0:System.out.println("日");break;
		case 1:System.out.println("一");break;
		case 2:System.out.println("二");break;
		case 3:System.out.println("三");break;
		case 4:System.out.println("四");break;
		case 5:System.out.println("五");break;
		case 6:System.out.println("六");break;
		}
	}

}

【运行结果】
2019年9月15日 星期日

发布了31 篇原创文章 · 获赞 2 · 访问量 3849

猜你喜欢

转载自blog.csdn.net/weixin_44652687/article/details/100847424
今日推荐