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++程序设计有所帮助。