JAVA一个简单的日期 星期对应关系

原创
2017/08/24 16:58
阅读数 137
import java.util.Scanner;

/**
 * 根据传入的年、月、日计算这一天是星期几
 * @param  y  * @param  m  * @param  d  * @return 星期几
 */
public class DaTe{
static String week(int y,int m,int d){
 int days=(y-1900)*365;//从1900到y-1年的总天数,润年会少一天
    //加上闰年的天数
    for(int i=1900;i<y;i++){
    if(i%4==0&&i%100!=0||i%400==0)
       days++;
    }
    //加上1到m-1月天数
    for(int i=1;i<m;i++){
        switch(i){
            case 2:days+=28;
                if(y%4==0&&y%100!=0||y%400==0) days++;break;
            case 4:case 6:case 9:case 11:days+=30;break;
                default:days+=31;
        }
    }
    days+=d;
    String[] s={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
    return s[days%7];
}
    public  static void main(String[] args){
        Scanner in=new Scanner(System.in);
        System.out.println("请输入年月日:");
        int y,m,d;
       y=in.nextInt(); m=in.nextInt(); d=in.nextInt();
       String w=week(y,m,d);
       System.out.println(y+"年"+m+"月"+d+"日为:"+w);
    }
}
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部