zoukankan      html  css  js  c++  java
  • C++标准库中的时间函数

         C++语言中的<ctime>头文件,也就是C语言的<time.h>中提供时间函数。其中主要是3中数据结构:time_t,clock_t和struct tm。其实time_t和clock_t都是一个整形数,time_t记录的是秒数,而在Windows下,clock_t存储的是毫秒数。

        一、获取时间

         1、clock_t clock ( void );

              作用:获取程序运行的clock数。在Windows下,每秒有1000个clock,也就是clock的精度是1毫秒。

        2、time_t time ( time_t * timer );

                作用:可以得到从1970年1月1日到现在的秒数。

        二、time_t类型的比较

        1、double difftime ( time_t time2, time_t time1 );

              作用:返回(time2-time1)。不要看他返回的是double,精度最多也就是秒了。

        三、struct tm和time_t之间的转化

         1、struct tm * gmtime ( const time_t * timer );

              作用:将timer指向的time_t类型变量转化为struct tm结构的国际统一时。国际统一时就是世界统一认可的一个时间。

              注意:返回的指针指向的是gmtime函数内的静态数据,也就是说,下次调用函数会将原来的结果覆盖,所以建议将结果拷贝到自己定义的tm变量内。

         2、struct tm * localtime ( const time_t * timer );

              作用:将timer指向的time_t类型变量转化为struct tm结构的本地时间。也就是Windows右下角的时间。

              注意:返回的指针指向的是gmtime函数内的静态数据,也就是说,下次调用函数会将原来的结果覆盖,所以建议将结果拷贝到自己定义的tm变量内。

        3、time_t mktime ( struct tm * timeptr );

              作用:将struct tm结构转化为time_t类型。

        四、将struct tm和time_t转化为字符串形式

        1、char * asctime ( const struct tm * timeptr );

              作用:将struct tm结构转化为字符串,格式是“Www Mmm dd hh:mm:ss yyyy”,老外的时间记录方式太怪了。

        2、char * ctime ( const time_t * timer );

             作用:将time_t类型数据,转化为字符串,格式是“Www Mmm dd hh:mm:ss yyyy”。

        3、size_t strftime ( char * ptr, size_t maxsize, const char * format, const struct tm * timeptr );

            作用:将struct tm结构的数据转化为定制的形式字符串。

  • 相关阅读:
    湘湖的雪
    Lua 如何调用C打包的动态库
    自己制作一个USB自动挖矿器
    二十五块DIY 带屏幕可远程的温湿度传感器
    来看下,C# WebService WSDL自动生成代码,数组参数的BUG。。。ArrayOfString
    记一次非常规方法对接硬件设备(Grason Stadler GSI 61)
    京享值超8万的京东钻石用户告诉你套路是这样的
    C# 显示纯文本对齐封装(控制显示字体长度)
    [开源] C# 封装 银海医保的接口
    [开源]使用C# 对CPU卡基本操作封装
  • 原文地址:https://www.cnblogs.com/yeta/p/2819771.html
Copyright © 2011-2022 走看看