时间函数

来源:互联网 发布:《c语言从入门到放弃》 编辑:程序博客网 时间:2024/05/18 09:10

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
二·时间函数篇
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

time函数

1.summary:
     time_t time(time_t *t);
     返回从1970年1月1日0时0分0秒算起到现在所经过的秒数。
     若参数为空指针,函数返回一个time_t型的长整型数,
     否则函数将返回值存至t指针所指的内存中。

2.用法实例:
     <1>
     #include <stdio.h>
     #include <time.h>

     int main()
     {
         time_t s;    //定义一个time_t类型的变量,代表一个时间的秒数
         s = time((time_t *)NULL);
         printf("Now : %ld/n", s);

         return 0;
     }
    
     <2>
     #include <stdio.h>
     #include <time.h>

     int main()
     {
         time_t *p;
         time(p);
         printf("Now : %ld/n", *p);

         return 0;
     }

 

gmtime函数

1.summary:
     struct tm *gmtime(time_t *timep);
     将time_t表示秒数的时间转化为人可以理解的时间。

2.用法实例:
     #include <stdio.h>
     #include <time.h>

     int main()
     {
         time_t timep;
         struct tm *p;
         time(&timep);
         p = gmtime(&timep);

         ptintf("Year : %d/n", 1900 + p->tm_year);
         /* tm结构体中的年是从1990年到现在的第几年 */
         printf("Month : %d/n", 1 + p->tm_mon);
         printf("Day : %d/n", p->tm_mday); 
         printf("Hour : %d/n", p->tm_hour);
         printf("Minute : %d/n", p->tm_min);
         printf("Second : %d/n", p->tm_sec);
         printf("Weekday : %d/n", p->tm_wday);
         printf("Days : %d/n", p->tm_yday);    //一年中的第一几天
         printf("Isdst : %d/n", p->tm_isdst);  //是否使用了夏令时

         return 0;
     }

ctime函数

1.summary:
     char *ctime(time_t *timep);
     将一个时间返回成一个可以识别的字符串格式。
     字符串显示格式:  Fri Jun 14 12:56:08 1999

2.用法实例:
     #include <stdio.h>
     #include <time.h>
     #include <stdlib.h>

     int main()
     {
         time_t *p;
         char s[30];
         time(p);
         strcpy(s, ctime(p));
         printf("%s/n", s);

         return 0;
     }

     编译运行输出: Tue Dec 25 14:03:42 2007

 


localtime函数

summary:
   用法基本与gmtime函数相同,不过localtime返回的是当地时区的时间,即
计算机上显示的时间;而gmtime返回的是UTC时间,即英国零时区时间。


gettimeofday函数

1.summary:
     int gettimeofday(struct timeval *tv, struct timezone *tz)
     返回更为精确的时间,微妙级(一微秒等于百万分之一秒),并存入
timeval结构中。
     struct timeval
     {
         long tv_sec;  //当前时间的秒数
         long tv_vsec; //当前时间的微秒数
     }
     struct timezone
     {
  int tz_minuteswest;  //与UTC时间相差的分钟数
         int tz_dsttime;      //与夏令时间相差的分钟数
     }

2.用法实例:
     #include <stdio.h>
     #include <sys/time.h>
     #include <unistd.h>
     #include <time.h>

     int main()
     {
         struct timeval tv;
         struct timezone tz;
  gettimeofday(&tv, &tz);

     printf("tv sec   :  %d/n", tv.tv_sec);
     printf("tv usec  :  %d/n", tv.tv_usec);
     printf("tz minuteswest : %d/n", tz.tz_minuteswest);
     printf("tz dsttime : %d/n", tz.tz_dsttime);

         return 0;
     }

3.主要用途:
     可用于测算程序运行的精确时间。


    还有其他一些函数,这里像时间转换成秒数函数mktime; 设置当前时间函数
settimeofday等这里不做介绍,自己可用MSDN查询。

原创粉丝点击