C语言时间转换算法实现 - 小霁的时间乱流
#include<stdio.h> int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//day[0]不用 int isLeapYear(int year)//判断是否为闰年 { return year%4==0&&year%100!=0||year%400==0; } int main() { int n; scanf("%d",&n); while(n--) { int year,month,date,hour,minute; scanf("%d.%d.%d %d:%d",&year,&month,&date,&hour,&minute); if(minute>=60)//判断时间是否合法 { minute-=60; hour++; } if(hour>=24) { hour-=24; date++; } if(date>day[month]||date==29&&month==2&&!isLeapYear(year))//注意平年2月只有28天 { date-=day[month]; month++; } if(month>12) { month-=12; year++; } if(year<10000) printf("%04d.%02d.%02d %02d:%02d\n",year,month,date,hour,minute);//输出格式 else printf("%05d.%02d.%02d %02d:%02d\n",year,month,date,hour,minute); } return 0; }
原文地址: https://www.cveoy.top/t/topic/lMSn 著作权归作者所有。请勿转载和采集!