如果只是读一次时间,那么用timeh 里的localtime()方法获取时间就可以,如果需要做一个时间不断跳动的界面,那么需要一些额外的技术。使用定时器timer,每秒钟触发一次,每次timer事件触发就重新读一次系统时间,然后刷新显示就可以。
如下,这个是不刷新显示时间
#include <timeh>
#include <iostream>
using namespace std;
void main()
{
time_t t;
tm lt;
t = time(NULL);
lt = localtime(&t);
cout<<lt->tm_hour<<":"<<lt->tm_min<<":"<<lt->tm_sec<<endl;
}
加入定时器
void main()
{
timer1Interval = 1000; //设置定时器间隔时间,1000毫秒
timer1Enabled = true; //启动定时器
}
private void timer1_Tick(object sender, EventArgs e)
{
time_t t;
tm lt;
t = time(NULL);
lt = localtime(&t);
cout<<lt->tm_hour<<":"<<lt->tm_min<<":"<<lt->tm_sec<<endl;
}
这样在控制台上你就可以看到每隔一秒钟,就输出一次当前时间。对于窗体程序,也是同样的办法,在输出时候注意一下就行了。
此外,VC定时器我好久没用,语法可能记不清了,楼主需要自己调试下,呵呵
在VC的MFC中可以使用
CTime time = CTime::GetCurrentTime(); ///构造CTime对象
CString m_strTime = timeFormat("%Y-%m-%d %H:%M:%S"); //将获得的时间以年-月-日 时:分:秒的形式保存到m_strTime 字符串变量中,如果你需要保存到文本中,就再加上文件 *** 作的函数就可以了。
//#include "stdafxh"//If the vc++60, with this line
#include "stdioh"
#include "stdlibh"
#include "timeh"
int main(void){
struct tm ptr;
time_t t;
int s=0,x;
while(1){
t=time(NULL);
ptr=localtime(&t);
if((x=ptr->tm_sec)!=s){
system("cls");
printf(asctime(ptr));
s=x;
}
}
return 0;
}
你试试下面的程序:
#include
#include
#include
int
main()
{
clock_t
start,
finish;
double
elapsed_time;
start=clock();
//do
sonething
finish=clock();
elapsed_time
=
finish-start;
}
我在vc++
60下运行,可以得到以毫秒为单位的计时
以上就是关于vc 怎么让日历控件显示当前时间全部的内容,包括:vc 怎么让日历控件显示当前时间、C++如何获取当前时间并转换成相应的格式字符串、c程序中。获取并显示当前年月日及时间,并做一个每秒刷新时间的功能函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)