#include <stdio.h> //printf使用时所用头文件
#include <unistd.h> //是sleep的头文件//定义一个名为month_pr的函数
//功能:判断哪年哪月有多少天
//参数:int year(年份)和 int month(月份)
//返回值:return 31(31天),return 30(30天)
// return 29(闰年2月29天),return 28(平年2月28天)
int month_pr(int year, int month)
{
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
return 31;
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
return 30;
} else if (month == 2) {
if ((0 == year % 4 && year % 100 != 0) || 0 == year % 400) {
return 29;
} else {
return 28;
}
}
}
//主函数
int main(int argc, const char* argv[])
{
int year, month, day, hour, min, sec;
year = 2020; //设定年份
month = 7; //设定月份
day = 30; //设定第几天
hour = 23; //设定小时
min = 59; //设定分钟
sec = 55; //设定秒数//制造一个死循环让时间一直运转
while (1) {
sec++;//当秒大于等于60,让分钟加1
if (sec >= 60) {
min++;
sec = 0;//当分钟大于等于60,让分钟加1
if (min >= 60) {
hour++;
min = 0;//当小时大于等于24,让天加1
if (hour >= 24) {
day++;
hour = 0;//调用上面的month_pr()函数,判断天数是否加到本月的最后一天
if (day > month_pr(year, month)) {
month++;
day = 1; //天数没有0//当月份加到大于12时,年份加一
if(month>12){
year++;
month=1; //月份没有0
}
}
}
}
}
sleep(1); //用于计时(1秒)
printf("%d-%02d-%02d %02d:%02d:%02d\r", year, month, day, hour, min, sec);
fflush(stdout); //刷新缓冲区
}
return 0;
}