1970年1月1日到现在的秒数计算日期

tech2026-01-24  10

1970年1月1日到现在的秒数计算日期

#include <stdio.h> int year=1970; int month=1; int day=1; int yuefen[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int yuefen1[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//闰年 int main(void) { long ret; int months;//月份 int days;//天 int hours;//小时 int minute;//分钟 int second;//秒 int i,q; int temp=0; scanf("%d",&ret);//输入秒数 days=(int)ret/(24*3600);//计算天数,一天24*60*60秒 ret = ret % ( 24 * 3600 );//当前天的总秒数 hours =int( ret / 3600);//计算当前天的小时 ret = ret % 3600;//分钟的秒数+秒数 minute = int( ret / 60 );//计算当前天的分钟 second = int( ret % 60 );//当前的秒数 //计算年份 for(i=days;i>364;i--) { if(year%4 == 0 && year%100 != 0 || year%400 == 0)//闰年 { year=year+1; i=i-366+1; } else{//非闰年 year=year+1; i=i-365+1; } } printf("day:%d\r\n",i); if((year%4 == 0 && year%100 != 0) || year%400 == 0) //闰年 { if(i<31) { months=1; day=i+1; } else { for(q = 0; q < 12; q++) { temp = yuefen1[q]; if(temp<i+1) { months=q+1; i=i-yuefen1[q]; } else break; //break; } day=i+1; months=months+1; } } else//非闰年 { if(i<31) { months=1; day=i+1; } else { for(q =0; q < 12; q++) { temp = yuefen[q]; if(temp<i+1) { months=q+1; i=i-yuefen[q]; //break; } else break; } day=i+1; months=months+1; } } printf("%d年 %d月 %d日 \r\n",year,months,day); printf("%d天 %d小时 %d分钟 %d秒数\r\n",days,hours,minute,second); }
最新回复(0)