vc 实时显示系统时间

1、基本函数:

 CTime time;
 time=CTime::GetCurrentTime();//得到当前时间

2、在窗口创建的时候添加定时器

在classview中右击主界面类,添加windows消息函数VM_create,添加代码如下:

int CCommDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
.......
 
 // add timer
 SetTimer(1,1000,NULL);//安装定时器,并将其时间间隔设为1000毫秒
 
......
}

3、添加定时器相应函数并更新控件(用于显示时间)

在classview中右击主界面类,添加windows消息函数VM_timer,添加代码如下:

void CCommDlg::OnTimer(UINT nIDEvent)
{
 // list the time of system
 CTime time;
 time=CTime::GetCurrentTime();//得到当前时间
 CString s=time.Format("%Y-%m-%d %H:%M:%S");//转换时间格式
 m_time=s;//设置标签的文字
 UpdateData(FALSE);//更新

...........
}

注: m_time为控件对应的变量。设置空间对应的变量,方便在程序代码中更改其属性

       time.Format("%Y-%m-%d %H:%M:%S");//转换时间格式的格式

%a Abbreviated weekday name %A Full weekday name %b Abbreviated month name %B Full month name %c Date and time representation appropriate for locale %d Day of month as decimal number (01 – 31) %H Hour in 24-hour format (00 – 23) %I Hour in 12-hour format (01 – 12) %j Day of year as decimal number (001 – 366) %m Month as decimal number (01 – 12) %M Minute as decimal number (00 – 59) %p Current locale's A.M./P.M. indicator for 12-hour clock %S Second as decimal number (00 – 59) %U Week of year as decimal number, with Sunday as first day of week (00 – 53) %w Weekday as decimal number (0 – 6; Sunday is 0) %W Week of year as decimal number, with Monday as first day of week (00 – 53) %x Date representation for current locale %X Time representation for current locale %y Year without century, as decimal number (00 – 99) %Y Year with century, as decimal number %z, %Z Either the time-zone name or time zone abbreviation, depending on registry settings; no characters if time zone is unknown %% Percent sign
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章