zoukankan      html  css  js  c++  java
  • C实现时间加减,比较

    1. 相关数据结构

    • time_t

    首先看time.h文件中队time_t的定义

    可以看出time_t实际上是一个整数,它记录了保存的是从1970年1月1日0时0分0 秒到现在经过的秒数。这里有一点要注意,对time_t数据类型的值来说,它所表示的时间不能晚于2038年1月18日19时14分07秒,否则会发生溢出。为了能够表示更久远的时间,一些编译器厂商引入了64位甚至更长的整形数来保存日历时间。

    • struct tm

    首先看time.h文件中队time_t的定义


    ANSI C标准称使用tm结构的这种时间表示为分解时间(broken-down time)。

    • time_t和struct tm之间是可以相互转化的

    在time.h文件中有如下两个函数
    time_t mktime(struct tm * timeptr);
    struct tm * localtime(const time_t * timer);
    2. 时间加减

    从上面对time_t和tm的分析你应该很容易想到如何进行时间的加减操作了吧。一种方法,我们可以对time_t类型的数据直接进行加减秒数操作。另一种方法,可以操作tm结构体内的变量。下面一个例子实现对当前时间加30分钟的操作。

    3. 问题

    上面代码的运行结果第三个输出是在第二个输出的基础上加了30分钟。为什么tmp_time变化会导致*ptime的变化。

    另外#include和#include也有区别。


      

  • 相关阅读:
    【每天学习一点点】Tensorflow 版本与CUDA版本
    【每天学习一点点】使用plot_model绘制网络模式失败
    【每天学习一点点】keras cifar10.load_data()自己下载数据
    【每天学习一点点】Tensorflow2.X 运行问题:Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED
    【每天学习一点点】mxnet 版本运行失败问题
    【每天学习一点点】Tensorflow GPU与CPU版本
    【每天学习一点点】不再显示I信息(Tensorflow GPU)
    C# Dynamic特性
    豆瓣,你的前端开发有点幽默了
    配置SHH集群
  • 原文地址:https://www.cnblogs.com/bo083/p/2152790.html
Copyright © 2011-2022 走看看