日期时间差的计算--C++

  • 实现方法:将时间点转换成基于当前系统的日期时间节点,分别得到一个较大的整数,然后做差值计算得到时间差,之后将这个以秒为单位的时间差转换成日期时间差。以下是实现代码。
  • 主函数
#include <iostream>
#include <ctime>

using namespace std;

int main( )
{
    struct tm t1,t2;

    //时间节点1--2019年2月25日6时10分10秒
    t1.tm_sec    = 10;
    t1.tm_min    = 10;
    t1.tm_hour   = 6;
    t1.tm_mday   = 25;
    t1.tm_mon    = 2;
    t1.tm_year   = 2019-1900;
    //时间节点2--2019年2月26日16时30分30秒
    t2.tm_sec    = 30;
    t2.tm_min    = 30;
    t2.tm_hour   = 16;
    t2.tm_mday   = 26;
    t2.tm_mon    = 2;
    t2.tm_year   = 2019-1900;
    // 基于当前系统的当前日期/时间
    time_t now1 = mktime(&t1);
    time_t now2 = mktime(&t2);
    time_t now3 ;
    now3=difftime(now2,now1);

    cout<<"基于当前系统时间差值:"<< now3<<"秒" << endl;

    tm *ltm = gmtime(&now3);

    // 输出 tm 结构的各个组成部分
    cout<<"时间差值为";
    cout << ltm->tm_year-70<< "年";
    cout << ltm->tm_mon<< "月";
    cout << ltm->tm_mday-1<< "日";
    cout << ltm->tm_hour<< "时";
    cout << ltm->tm_min << "分";
    cout << ltm->tm_sec <<"秒"<<endl;
}
  • 结果

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值