您的位置:首页 > 运维架构 > Linux

[Linux文件]查询时间实现秒定时功能

2017-11-18 16:11 323 查看
//这是一个低效率的使用gettimeofday来获得秒定时的应用
//使用gettimeofday在while循环中连续获得当前的timez信息
//然和和之前的时间信息进行比较,如果还没到1秒,则等待,否则
//使用break跳出while循环并且打印当前时间,实现每秒打印一次
#include<sys/time.h>
#include<stdio.h>
int main(void)
{
struct timeval timenow,timeold;
struct timezone timez;
time_t timetemp;    //时间结构体变量
gettimeofday(&timeold,&timez);   //取得一个时间信息作为以前的数据
while(1)
{
while(1)
{
gettimeofday(&timenow,&timez);   //获得当前时间数据
if((timenow.tv_sec - timeold.tv_sec) == 1)  //如果时间过了一秒
{
timeold = timenow;		//更新以前的时间参考数据
break;                        //退出当前循环
}
}
//如果还没到1秒,则一直等待;
time(&timetemp);    //获得时间参数
printf("%s",ctime(&timetemp));     //打印当前时间
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息