linux时间编程

本次用到的函数有:

time_t time(time_t *tloc) ;

struct tm *gmtime(const time_t *timep) ; 

struct tm *localgmtime(const time_t *timep) ;

char *asctime(const struct tm *tm) ;

char *ctime(const time_t *timep) ;

int gettimeofday(struct timeval *tv,struct timezone *tz) ;

unsigned int sleep(unsigned int seconds) ;

void usleeo(unsigned long usec) ;

源程序:

1)time1.c

#include<time.h>

#include<stdio.h>

int main(int argc,char *argv[])

{

        time_t t;

        struct tm *gt;

        struct tm *lt;  // lt 类型为struct tm,是个结构体

        t=time(NULL);

        gt=gmtime(&t);

        lt=localtime(&t);

        printf(asctime(gt));  //gt已经代表地址,不用再“&”取地址了

        printf(asctime(lt));

        printf(ctime(&t));

        return 0;

}

2)time_cost.c

#include<stdio.h>

#include<stdlib.h>

#include<sys/time.h>

#include<math.h>

void cost()

{

        unsigned int i,j;

        double y=0;

        for(i=0;i<1000;i++)

                for(j=0;j<1000;j++)

                        y++;

}

int main()

{

        struct timeval  t_start , t_end;  //定义两个struct timeval 的结构体

        float t_use;

        gettimeofday(&t_start,NULL);

        cost();

        gettimeofday(&t_end,NULL);

        t_use=(t_end.tv_sec - t_start.tv_sec)*1000000+t_end.tv_usec-t_start.tv_usec;  //t_end.tv_sec是引用结构体t_end中的tv_sec成员

        t_use/=1000000;

        printf("%f\n",t_use);

        return 0;

}

你可能感兴趣的:(linux)