C程序中对时间的处理——time库函数详解以及系统时间结构体类型

本文详细介绍了C语言中处理时间的time库函数,包括time(), localtime(), gmtime()等,并讲解了time_t、struct tm、struct timezone等时间结构体类型。通过示例代码展示了如何获取并显示本地时间与格林尼治标准时间。" 128545398,9253679,亚马逊AWS认证详解:种类、价值与学习路径,"['AWS', '云原生', '云计算']
摘要由CSDN通过智能技术生成
包含文件:<sys/time.h> <time.h>
一、在C语言中有time_t, tm, timeval等几种类型的时间
1、time_t
    长整型,一般用来表示从1970-01-0100:00:00时以来的秒数, 精确度:秒;由函数time()获取;

    该类型定义在头文件/usr/include/sys/time.h 中:

    #define _TIME_T
      typedef  long  time_t;        
    #endif 

     函数定义:time_t  time(time_t*  lpt);

    如:time_t   time = time(NULL);


2、timeval
     它有两个成员;一个是秒,另一个表示微秒, 精确度:微秒(10E-6)

     由函数gettime0fday()获取;

      struct timeval结构定义为:

     struct  timeval

     {

         long tv_sec;    

         long tv_usec;  

     }

     读取struct timeval结构数据的函数说明:

     #include <sys/time.h>
     int  gettimeofday(struct timeval*  tv,struct timezone*  tz);

     该函数会提取系统当前时间,并把时间分为秒和微秒两部分填充到结构struct timeval中;同时把当地的时区信

     息填充到结构struct  timezone中;

      返回值:成功则返回0,失败返回-1,错误代码存于errno。附加说明EFAULT指针tv和tz所指的内存空间超出存

     取权限。

     struct  timezone结构的定义为:

     struct  timezone

     {

        int  tz_minuteswest; 
        int  tz_dsttime;         

     }

 

    上述两个结构都定义在/usr/include/sys/time.h。tz_dsttime 所代表的状态如下
     DST_NONE
     DST_USA
     DST_AUST
     DST_WET
     DST_MET  
      DST_EET
     DST_CAN
     DST_GB
     DST_RUM
     DST_TUR
     DST_AUSTALT

 
3、tm
tm是一个结构体,定义为:
struct tm
{
    int tm_sec;      /*代表目前秒数,正常范围为0-59,但允许至61秒 */
    int tm_min;     /*代表目前分数,范围0-59*/
    int tm_hour;   /* 从午夜算起的时数,范围为0-23 */
    int tm_mday;  /* 目前月份的日数,范围01-31 */
    int tm_mon;   /*代表目前月份,从一月算起,范围从0-11 */
    int tm_year;   /*从1900 年算起至今的年数*/
    int tm_wday;   /* 一星期的日数,从星期一算起,范围为0-6。*/
    int tm_yday;   /* Days in year.[0-365] */
    int tm_isdst;   /*日光节约时间的旗标DST. [-1/0/1]*/
};


4、struct timeb结构:它有两个主要成员,一个是秒,另一个是毫秒;精确度:毫秒(10E-3秒)

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值