日期累加(c++实现)

发布时间:2024年01月07日
#include<iostream>
using namespace std;
int n;
int months[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int is_leap(int y){
    if((y%4==0 && y%100) || y%400==0) return 1;
    return 0;
}

int daysOfMonth(int y,int m){
    if(m==2) return months[m]+is_leap(y);
    return months[m];
}

int main(){
    cin>>n;
    while(n--){
        int y,m,d,cnt;
        cin>>y>>m>>d>>cnt;
        d += cnt;
        while(d>daysOfMonth(y,m)){
            d -= daysOfMonth(y,m);
            m++;
            if(m==13) m=1,y++;
        }
        
        printf("%04d-%02d-%02d\n",y,m,d);
    }
}

文章来源:https://blog.csdn.net/zyang654321/article/details/135440069
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。