c++计算两个时间之间的时间间隔

本文介绍了如何使用C++计算两个时间点之间的间隔,通过 memset 初始化时间结构,然后利用difftime函数计算秒数,并将结果转换为天、小时、分钟和秒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        struct tm _time_1;// 开始时间
struct tm _time_2;// 结束时间
memset(&_time_1, 0, sizeof(_time_1));

memset(&_time_2, 0, sizeof(_time_2));

        long startTime=20180118123026;

        long endTime=20180928125036;

// 现在的日期  c++时间是从1900年1月1日开始
_time_1.tm_year = startTime / (10000000000)-1900;
_time_1.tm_mon = startTime/ (100000000) % 100-1;
_time_1.tm_mday = startTime/ (1000000) % 100-1;
_time_1.tm_hour =startTime / (10000) % 100;
_time_1.tm_min = startTime / (100) % 100;
_time_1.tm_sec =startTime % 100;
// 结束时间
_time_2.tm_year =endTime/ (10000000000)-1900;
_time_2.tm_mon =endTime / (100000000) % 100-1;
_time_2.tm_mday =endTime / (1000000) % 100-1;
_time_2.tm_hour = endTime / (10000) % 100;
_time_2.tm_min =endTime / (100) % 100;
_time_2.tm_sec = endTime % 100;

time_t time_1 = mktime(&_time_1);
time_t time_2 = mktime(&_time_2);

long remainSec = difftime(time_2,time_1);// 计算时间间隔的秒

         // 将秒转成天,小时,分,秒

int days = (remainSec / (60 * 60 * 24));
int hours = (remainSec / (60 * 60) - days * 24);
int minutes = (remainSec / 60 - hours * 60 - days * 24 * 60);

int seconds = (remainSec - minutes * 60 - hours * 60 * 60 - days * 24 * 60 * 60);

         days ,hours ,minutes ,seconds 这些就是两个时间之间相差n天n小时n分钟n秒

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值