• C语言里面和时间有关的函数


    参考链接

    https://blog.csdn.net/ffcjjhv/article/details/83376767

    0)Head file

    #include "time.h"

    1) 结构定义,

    主要是3个结构,time_t,clock_t和tm

    特别注意year,month的范围和我们常用的年月不一样,年是相对于1900/1970年的,月是从0到11的。

    struct time_t ;
    //X64(X86 32bit)系统里面是1900(1970)年到现在经过了多少秒,
    struct clock_t ;
    
    
    struct tm {
    int tm_sec;        // 秒,正常范围从 0 到 59,但允许至 61
    int tm_min;        // 分,范围从 0 到 59
    int tm_hour;        // 小时,范围从 0 到 23
    int tm_mday;      // 一月中的第几天,范围从 1 到 31
    int tm_mon;       // 月,范围从 0 到 11
    int tm_year;      // 自 1900 年起的年数
    int tm_wday;     // 一周中的第几天,范围从 0 到 6,从星期日算起
    int tm_yday;     // 一年中的第几天,范围从 0 到 365,从 1 月 1 日算起
    int tm_isdst;     // 夏令时

     2)主要的函数

    互相转换类函数

    [1]转换成字符串显示类函数
    
    char asctime(const struct tm timeptr);
    //将tm结构体中的信息转换为真实世界的时间,以字符串的形式显示
    
    char ctime(const time_t timep);
    //将time_t结构转换为真是世界的时间,以字符串显示
    
    [2]两种结构互相转换的函数
    
    struct tm* gmtime(const time_t* timep);
    //将time_t表示的时间转换为没有经过时区转换的UTC时间,是一个struct tm结构指针
    
    struct tm* localtime(const time_t* timep);
    //和gmtime类似,但是它是经过时区转换的时间
    
    time_t mktime(struct tm* timeptr);
    //将struct tm 结构的时间转换为从1970年至今的秒数
    
    [3]系统相关的函数
    
    clock_t clock() ;
    //进程起来时候(或者是开机时候,或者是别的什么固定时间点)到现在,处理器运行的时钟。 time_t time(time_t
    * t); //取系统当前的时间,放在time_t结构里面
    double difftime(time_t time1, time_t time2) //两个时间之间相差多少 //print 运行时间的示例代码 void TimeTrack(unsigned char * text) { static clock_t begin_time=0; clock_t this_time=clock(); if (0 == begin_time) { printf("<TIME-Track>: Begin of Time Track "); begin_time = this_time ; }else{ printf("<TIME-Track>: {%s}=%f ",text,(float) (this_time-begin_time) / CLOCKS_PER_SEC ); } }


     另一种利用time()的方法

    void TimeTrack(unsigned char * text) { 
      static int begin_time=0;
      static time_t begin ;
      time_t this_time;
      time(&this_time);
      if (0 == begin_time) {
        printf("<TIME-Track>:  Begin of Time Track 
    ");
        memcpy(&begin,&this_time,sizeof(time_t)) ;
        begin_time = 1;
      }else{
        printf("<TIME-Track>: {%s}=%f
    ",text,difftime (this_time , begin) );
      }
    }
    

      

    系统相关函数

  • 相关阅读:
    MAVEN学习笔记之私服Nexus(2)
    MAVEN学习笔记之基础(1)
    mybatis 高级映射和spring整合之逆向工程(7)
    IPC之共享内存
    IPC之SystemV
    IPC之消息队列
    IPC之信号量
    线程同步
    线程函数
    线程基础
  • 原文地址:https://www.cnblogs.com/shinedream/p/12332599.html
Copyright © 2020-2023  润新知