当前位置:文档之家› VC 获取当前时间

VC 获取当前时间

VC++中其实还是通过调用它自带的CTime类来完成的获取当前系统时间的,我们做一个小程序来了解这个过程吧!对话框里只有两个显示框和两个按钮,点下按钮显示当前时间。

就这么一个小程序。

(1)建立应用程序外壳
创建一个新的AppWizard项目,命名为shiyan,选择Dialog based;其他都选用默认属性,单击Finish完成生成应用程序的步骤。

进入对话框界面以后,按下图所示布置显示框和功能按钮。

(2)设置参数
其中上面的显示文本框设为CString型,命名为m_show,ID号为IDC_show。

下面的显示文本框设为CString型,命名为m_show1,ID号为IDC_show1。

(3)编译程序
start键程序:
void CDate1Dlg::Onstart()
{
//count=0;
SetTimer(1,1000,NULL);
// TODO: Add your control notification handler code here
}
stop键程序:
void CDate1Dlg::Onstop()
{
KillTimer(1);
// TODO: Add your control notification handler code here
}
(4)增加计时器控件
View -> ClassWizard -> MessageMaps -> CUse progressDlg,加入WM_TIMER函数,编辑程序:
void CDate1Dlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
// count++;
UpdateData(1);
CTime mtime=CTime::GetCurrentTime();//获取当前时间
char i;
CString w;
i=char (mtime.GetDayOfWeek());
//获取当前时间的天数是这个星期的第几天,这里要注意了,系统上默认的一个星期的第一天是星期日,最后一天是周六,大家千万不要搞错了。

我也是试了才知道的。

switch(i)//将数字状换成字符就不会出现星期7这种情况了
{
case 2:
{w="一";break;}
case 3:
{w="二";break;}
case 4:
{w="三";break;}
case 5:
{w="四";break;}
case 6:
{w="五";break;}
case 7:
{w="六";break;}
case 1:
{w="日";break;}
}
int a,b,c,d,e,f;
a=int(mtime.GetSecond())/10; //获取当前时间的秒数
b=int(mtime.GetSecond())%10;
c=int(mtime.GetMinute())/10;//获取当前时间的分数
d=int(mtime.GetMinute())%10;
e=int(mtime.GetHour())/10;//获取当前时间的小时数
f=int(mtime.GetHour())%10;
m_show.Format("今天是%d年%d月%d日星
期%s ",mtime.GetYear(),mtime.GetMonth(),mtime.GetDay(),w); m_show1.Format("现在时间是 %d%d:%d%d:%d%d",e,f,c,d,a,b); }
UpdateData(0);
// TODO: Add your message handler code here and/or call default
CDialog::OnTimer(nIDEvent);
}
之后编译运行一下就行了,效果见下图:。

相关主题