这获取当前日期与公元一年一月的天数差并判断星期几里写自定义目录标题
绝对没问题直接用就行
import java.util.Scanner;
public class QueryWeekly {
public static void main(String args[]){
//用两个数组存储闰年和非闰年的天数
int a[]= {31,29,31,30,31,30,31,31,30,31,30,31};//闰年日期
int b[]= {31,28,31,30,31,30,31,31,30,31,30,31};//非闰年日期
//创建输入对象
Scanner input = new Scanner(System.in);
//依次输入年月日
System.out.print("请输入年份:");
int year = input.nextInt();
System.out.println("请输入月份");
int month=input.nextInt();
System.out.println("请输入天数");
int day=input.nextInt();
//判断日期是否输入正规
if (year<1){
System.out.println("请输入正确的年份!!!");
return;
}
if (month<1||month>12){
System.out.println("请输入正确的月份!!!");
return;
}
if(day<1||day>31){
System.out.println("请输入正确的日期!!!");
return;
}
//判断是闰年还是非闰年,后面会用到
boolean flag = (year%4==0 && year%100!=0 || year%400==0);
//总天数SunDay初始值为0;
int sumDay=0;
//for循环遍历(只遍历到今年的1月1日)
for(int i=1; i<year; i++){
if(i%4==0 && i%100!=0 || i%400==0){
//闰年算法
sumDay=sumDay+366;
}else{
//非闰年算法
sumDay=sumDay+365;
}
}
//判断今年是否为闰年
if (flag==true) {
//闰年算法
System.out.println("今年为闰年");
for(int i=0;i<month-1;i++) {
sumDay=sumDay+a[i];
}
}else {
///非闰年算法
for(int i=0;i<month-1;i++) {
sumDay=sumDay+b[i];
}
}
//因为我们计算到今年的一月一日,但是计算月份的时间会包括这一天,所以总天数要-1,同时还要加上输入的day;
sumDay=sumDay+day-1;
//如果公元1年1月1日是星期一
int week = (sumDay%7)+1;
System.out.println(week==7?(year+"年"+month+"月"+day+"日是星期天"):(year+"年"+month+"月"+day+"日"+"是星期"+week));
}
}