c++时间戳问题回答满意必采纳

某日某国的国家安全局获得一份珍贵的材料,上面记载了一个即将进行的恐怖活动的信息。不过,国家安全局没法获知具体的时间,因为材料上的时间使用的是LINUX的时间戳,即是从2011年1月1日0时0分0秒开始到该时刻总共过了多少秒。此等重大的责任现在落到了小明的肩上,给出小明该时间戳,聪明的你能帮小明计算出恐怖活动在哪一天实施吗?(为了简化计算,规定一年12个月,每个月固定都是30天)。
一行,包含一个整数n,表示从2011年1月1日0时0分0秒开始到该时刻过了n秒。
一行,包含三个整数y、m、d,分别表示恐怖活动在y年m月d日实施
样例输入
130432457
样式输出
2015 3 10
这个的我代码不会完成,有呢为人能注释解答,必采纳,谢谢

反正就是秒数除以60就是分钟数,求余60就是秒数,依次类推

#include <iostream>
using namespace std;
int main (){
    int t,y=2011,m=1,d=1;
    cin>>t;
    int ds = t/(24*60*60);   //算出总天数,每天的秒数为24*60*60
    y += ds/(12*30); //算出年数,一年12*30天
    ds = ds%(12*30);  //算出剩余天数
    m += ds/30;    //算出月数
    d += ds%30;    //算出天数
    cout<<y<<" "<<m<<" "<<d<<endl;
    return  0;
}

把时间戳通过计算得出最终kongmu活动的日期。

#include <iostream>

using namespace std;

int main(void){
    
    int  timeStamp;
    int y,m,d;
    
    cin>>timeStamp; //获取时间戳 
    //年份为 时间戳的秒数除以一年的秒数得出目标kongbu活动距离2011年过去几年,加上时间戳起始年份即kongbu活动年份 
    y = (timeStamp/(12*30*24*60*60))+2011; 
    
    //同理月份 为时间戳的秒数除以一个月有多少秒得出kongbu活动距离2011年1月要过去的月份,再对12求余得出kongbu活动距2011年1月份的月数 
    //再加上起始月份,即kongbu活动的月份 
    m =  (timeStamp/(30*24*60*60))%12+1;
    
    //目标日期为月份第几日 ,为时间戳的秒数除以一天的秒数得出目kongbu活动距离现在的天数,再对30求余得出是距离1号要过去及几天,
    //然后再加上起始日期1号,即为kongbu活动是在此月第几号开始 
    d = (timeStamp/(24*60*60))%30+1; 
    
    //打印结果 
    cout<<y<<" "<<m<<" "<<d;
    
    return 0;
} 

img