C语言从头学69——学习头文件time.h

      《C语言从头学》系列文章到这一篇就算告一段落了,感谢大家的支持!过一段时间将介绍一些MFC二维绘图函数的知识,请大家继续给予支持。
       在time.h头文件中定义了有关时间的数据类型、结构体、函数等,介绍如下:
1.时间类型 time_t
       time_t类型表示自1970年1月1日0分0秒(1970年初)至以后某一时刻的秒数;若为负数时,则表示至以前某一时刻的秒数,time()函数的返回值就是这一类型。
2.时间结构体 struct tm
       struct tm是一个数据结构,用来保存时间的各个组成部分,年、月、日、时、分、秒等。
       struct tm {
           int tm_sec; // 秒数 [0, 60]
           int tm_min; // 分钟 [0, 59]
           int tm_hour; // 小时 [0, 23]
           int tm_mday; // 日期 [1, 31]
           int tm_mon; // 月份 [0, 11],一月用 0 表示
           int tm_year; // 距离 1900 的年数
           int tm_wday; // 星期几 [0, 6],星期天用 0 表示
           int tm_yday; // 距离1月1日的天数 [0, 365]
           int tm_isdst; // 是否采用夏令时,1 表示采用,0 表示未采用
       };
3.函数time()
      功能:返回从1970年初至当前经过的秒数
      使用格式一:time(参1);
         参1:time_t类型指针变量(注意对变量取址)
      返回值:返回值会直接写入指针变量中,不需再接收。
      使用格式二:time(NULL);
      返回值:使用time_t类型变量接收返回值。
      说明:以上两种使用方式结果相同,区别:一个是指针,一个是变量。time函数出错时返回-1。
4.函数ctime()
      功能:将time_t类型的时间值输出为英语常用时间格式
      使用格式:ctime(参1);
          参1:time_t类型指针变量(注意是指针)
      返回值:char*类型字符串(内容为英语常用时间格式)
5.函数localtime()
      功能:将time_t类型的时间形式转换为当前时区的struct tm结构形式
      使用格式:localtime(参1);
          参1:time_t类型时间指针变量
      返回值:返回struct tm结构体变量指针
6.函数gmtime()
      功能:将time_t类型的时间形式转换为UTC时间的struct tm结构形式(世界协调时,与格林威治同)
      使用格式:gmtime(参1);
         参1:time_t类型时间指针变量
      返回值:返回struct tm结构体指针类型
7.函数asctime()
      功能:将struct tm结构体对象时间格式直接输出为英语常用时间格式
      使用格式:asctime(参1);
         参1:struct Tm结构体时间对象
      返回值:char*字符串
8.函数mktime()
      功能:把struct tm结构体时间格式转换回time_t时间格式
      使用格式:mktime(参1);
          参1:struct tm结构体对象指针
      返回值:返回time_t类型的时间
9、函数difftime()
      功能:来计算两个时间之间的差
      使用格式:difftime(参1,参2);
          参1、参2:time_t类型的时间值(参1结束时间,参2开始时间)
      返回值:double类型的时间差(单位是秒);
10、函数strftime()
      功能:将struct tm结构体格式转换为自定义格式字符串并复制到指定地址
      使用格式:size_t strftime(参1,参2,参3,参4);
         参1:指向接收字符串的指针
         参2:可以接收的最大字节数(size_t类型)
         参3:格式字符串(具体见后)
         参4:struct tm结构体对象
      返回值:成功复制的字符串长度;失败返回-1。
      参3参考内容:
          %a:星期几简写                %A:星期几全拼                 %b:月份的简写
          %B:月份全拼                    %c:日期和时间                 %d:月第几天 
          %H:小时(24小时制)         %I:小时(12小时制)             %J:年第几天 
          %m:月数                          %M:分钟                            %P:AM或PM 
          %R:时:分                         %S:秒                                 %U:年第几星期(周日始)   
          %w:星期第几天(周日始)  %W:年第几星期(周一始)    %x:完整年月日日期
          %X:完整时分秒                %y:两位数年份                  %Y:四位数年份  
          %Z:时区
11、函数clock()
      功能:提供程序开始执行至调用该函数时的CPU时钟周期。CPU时钟周期等于频率的倒数,因此不同计算机的clock()返回值会不同,为返回可比较的时间,需要使用宏CLOCKS_PER_SEC(每秒周期数),这个宏也在time.h中定义,通过这个宏可将周期数转换成秒。
       使用格式:clock(); //无参
       返回值:计算机程序运行经过的CPU周期数值(clock_t类型)。
       说明:
       a. 一般计算时间间隔采用两次调用clock()函数,通过计算机差值得到用时;
       b. clock的精度比time要高,注意在计算时差时要将相关值强转成double型。
上一篇:循环神经网络(Recurrent Neural Network,RNN)


下一篇:Reqable抓包演示