C语言中如何计算时间差

如何将两个包含“年月日时分”的5个字节数据进行比较,最后得出一个时间间隔(总分钟数)?其中的年份用后两位表示,如2010年8月31日9时26分表示为:1008310926... 如何将两个包含“年月日时分”的5个字节数据进行比较,最后得出一个时间间隔(总分钟数)?
其中的年份用后两位表示,如2010年8月31日9时26分表示为:1008310926
最后输出必须是时间差(总的分钟)
补充:在KEIL C中编译没有time.h这个头文件调用怎么办?
展开
 我来答
iceser
2010-08-31 · TA获得超过2708个赞
知道大有可为答主
回答量:695
采纳率:100%
帮助的人:452万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void main()
{
unsigned char time1[] = { 10, 8, 31, 9, 26 };
unsigned char time2[] = { 10, 8, 31, 9, 50 };

struct tm t1 = {0};
struct tm t2 = {0};

time_t _t1;
time_t _t2;

double diff;

t1.tm_year = time1[0] + 100;
t1.tm_mon = time1[1];
t1.tm_mday = time1[2];
t1.tm_hour = time1[3];
t1.tm_min = time1[4];

t2.tm_year = time2[0] + 100;
t2.tm_mon = time2[1];
t2.tm_mday = time2[2];
t2.tm_hour = time2[3];
t2.tm_min = time2[4];

_t1 = _mkgmtime( &t1 );
_t2 = _mkgmtime( &t2 );

diff = difftime(_t2, _t1 );

printf( "相差 %.0f 分钟\n", diff / 60 );

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式