C++实现当前时间动态显示的方法
本文实例讲述了C++实现当前时间动态显示的方法。分享给大家供大家参考。具体如下:
/*24-06-1010:44 动态显示时间但不是最优的功能很单一 本程序关键是对时钟函数的使用 **tm结构定义了年、月、日、时、分、秒、星期、当年中的某一天、夏令时 **用localtime获取当前系统时间,该函数将一个time_t时间转换成tm结构表示的时间,函数原型: structtm*localtime(consttime_t*) **使用gmtime函数获取格林尼治时间,函数原型: structtm*gmtime(consttime_t*)包含的头文件是time.h*/ //structtm{ //inttm_sec;/*secondsaftertheminute-[0,59]*/ //inttm_min;/*minutesafterthehour-[0,59]*/ //inttm_hour;/*hourssincemidnight-[0,23]*/ //inttm_mday;/*dayofthemonth-[1,31]*/ //inttm_mon;/*monthssinceJanuary-[0,11]*/ //inttm_year;/*yearssince1900*/ //inttm_wday;/*dayssinceSunday-[0,6]*/ //inttm_yday;/*dayssinceJanuary1-[0,365]*/ //inttm_isdst;/*daylightsavingstimeflag*/ //}; #include<iostream> #include<time.h> #include"dos.h" #include<windows.h> usingnamespacestd; intmain() { char*myweek[]={"日","一","二","三","四","五","六"}; time_tnowtime;//typedeflongtime_t;在编译器定义的头文件中 nowtime=time(NULL);//获取当前时间此时它是用一个长整形表示的 structtm*local;/*时间结构体变量*/ local=localtime(&nowtime);//获取当前系统时钟 while(1) { cout<<"当前时间:"; cout<<local->tm_year+1900<<"年"<<local->tm_mon+1<<"月"<<local->tm_mday<<"日"<<""; cout<<local->tm_hour<<"时"<<local->tm_min<<"分"<<local->tm_sec<<"秒"<<""; cout<<"星期"<<myweek[local->tm_wday]<<endl; /*对当前时间进行判断让它动态变化 */ if(local->tm_sec==59&&local->tm_min!=59) //当秒到59,分未到59时分钟加1,秒清0 { local->tm_min++; local->tm_sec=0; } //当秒和分都为59时不为23时,秒和分钟都清0,时钟加1 elseif(local->tm_sec==59&&local->tm_min==59&&local->tm_hour!=23) { local->tm_min=0; local->tm_sec=0; local->tm_hour++; } //当秒和分都为59时为23时,秒,分钟和时钟都清0 elseif(local->tm_sec==59&&local->tm_min==59&&local->tm_hour==23) { local->tm_sec=0; local->tm_min=0; local->tm_hour=0; } else//其它情况秒钟进行不断加1 { local->tm_sec++; } Sleep(1000);/*Sleep()里面的单位,是以毫秒为单位, system("cls");/*清屏命令出现动态显示*/ } system("pause"); return0; }
希望本文所述对大家的C++程序设计有所帮助。