zoukankan      html  css  js  c++  java
  • 日期计算

    虽然已知日期2011年11月11日是星期五,但是为了方便我还是把2011年1月1日当做基础日期。至于2011年1月1日是星期几,电脑上面有的。。。

    思路:文字不如图来得形象。如下

    //已知2011年11月11日是星期五
    #include<iostream>
    using namespace std;
    
    int leap(int n)//判断闰年
    {
        if((n%4==0&&n%100!=0)||n%400==0)
            return 1;
        return 0;
    }
    int getY(int Y)
    {
        int ans = 0;
        if(Y<2011)
        {
            for(int i=Y;i<2011;i++)
            {
                if(leap(i)==1)
                    ans += 366;
                else ans += 365;
            }
        }else{
            for(int i=2011;i<Y;i++)
            {
                if(leap(i)==1)
                    ans += 366;
                else ans += 365;
            }
        }
        return ans;
    }
    int getM(int Y,int M,int D)//month+day
    {
        int ans = 0;
        if(leap(Y)==1&&M>2) ans = 1;
        for(int i=1;i<M;i++)
        {
            switch(i)
            {
                case 1: ans+=31;break;
                case 2: ans+=28;break;
                case 3: ans+=31;break;
                case 4: ans+=30;break;
                case 5: ans+=31;break;
                case 6: ans+=30;break;
                case 7: ans+=31;break;
                case 8: ans+=31;break;
                case 9: ans+=30;break;
                case 10:ans+=31;break;
                case 11: ans+=30;break;
                case 12: ans+=31;break;
            }
        }
        return ans+D;
    }
    int main()
    {
        int Y,M,D;
        cin>>Y>>M>>D;
        int sum = getY(Y);
        int sum2 = getM(Y,M,D);
        if(Y<2011)
        {
            sum =sum - sum2+1;
            sum = sum%7;
            sum = (6-sum)%7;
        }else{
             sum = sum+ sum2-1;
             sum = sum%7;
             sum = (6+sum)%7;
        }
    
        if(sum==0)
            cout<<7<<endl;
        else cout<<sum<<endl;
        return 0;
    }
    
  • 相关阅读:
    SVM – 线性分类器
    解决mybatis generator无法覆盖XML
    windows下IDEA的terminal配置bash命令
    mysqldump定时备份数据库
    linux清理日志脚本
    MySQL主从同步配置
    mysql binlog日志自动清理及手动删除
    linux搭建FTP服务器并整合Nginx
    mysql解除死锁状态
    git取消跟踪已版本控制的文件
  • 原文地址:https://www.cnblogs.com/qie-wei/p/12094117.html
Copyright © 2011-2022 走看看