注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

学习笔记

正确的方法如同学习书法,开始的时候要临摹,临摹好了然后创造自己的风格。

 
 
 

日志

 
 

[Linux笔记]Linux中的时间操作  

2011-12-21 23:24:02|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

#include <time.h>
struct tm {
       int tm_sec;   //秒值
       int tm_min;   //分钟值
       int tm_hour;  //小时值
       int tm_mday;  //本月第几日
       int tm_mon;   //本年第几月
       int tm_year;  //tm_year+1900=哪一年
       int tm_wday;  //本周第几日
       int tm_yday;  //本年第几日
       int tm_isdst; //日光节约时间
};

typedef long time_t
#include <time.h>
time_t time(time_t *t);
功能:获得日历时间,即从1970年1月1日0点到现在所经历的秒数。如果t非空,则返回值也会存储在t所指向的内存。
返回值:成功时,返回从1970年1月1日0点到现在所经历的秒数。失败时,返回((time_t) -1),并设置errno。

struct tm *gmtime(const time_t *timep);
功能:将日历时间转化为格林威治标准时间,并保存到TM结构体中。

struct tm *localtime(const time_t *timep);
功能:将日历时间转化为本地时间,并保存到TM结构体中。

char *asctime(const struct tm *tm);
功能:将tm格式的时间转化为字符串

char *ctime(const time_t *timep);
功能:将日历时间转化为本地时间的字符串形式。

#include <sys/time.h>
struct timeval {
    time_t      tv_sec;     /* seconds */
    suseconds_t tv_usec;    /* microseconds */
};

int gettimeofday(struct timeval *tv, struct timezone *tz);
功能:获取从今日凌晨到现在的时间差,常用于计算事件耗时。

#include <unistd.h>
unsigned int sleep(unsigned int seconds);
功能:使程序睡眠seconds秒

unsigned int usleep(unsigned long usec);
功能:使程序睡眠usec微秒

例程:

#include <time.h>
#include <sys/time.h>//gettimeofday()
#include <stdio.h>

void function()
{
    unsigned int i,j;
    double y;
    for(i=0;i<1000;i++)
     for(j=0;j<1000;j++)
      y++;
}

int main()
{
    struct tm *local;
    time_t t;
    struct timeval tpstart, tpend;
    float timeuse;

    t=time(NULL);
    local=localtime(&t);
    printf("Local time is: %d:%d:%d\n",local->tm_hour,local->tm_min,local->tm_sec);
    //printf(ctime(&t));
    printf(asctime(local));
    local=gmtime(&t);
    printf("UTC time is: %d:%d:%d\n",local->tm_hour,local->tm_min,local->tm_sec);
    printf(asctime(local));
    gettimeofday(&tpstart,NULL);
    function();
    gettimeofday(&tpend,NULL);

    timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+\
     tpend.tv_usec-tpstart.tv_usec;
    timeuse/=1000000;
    printf("Used time is: %f\n",timeuse);
    return 0;
}

from:国嵌视频
  评论这张
 
阅读(652)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017