time1= 16:13:20
time2=23:02:41
求time2-time1之间相差多少小时、分钟、秒数
// 如果time2是当天的time2
int h1=16,m1=13,s1=20;
int h2=(24*0)+23,m2=02,s2=41;
计算过程(先是秒的计算,然后是分钟的计算最后是小时的计算;从右到左):
if(s2<s1){
d2=d2+60;
m2--;
}
if(m2<m1){
m2=m2+60;
h2--;
}
res_s=s2-s1=21;
res_m=m2+60-m1=49;
res_h=h2-1-h1=6;
两个日期之间相差:6小时,49分,21秒
// 如果time2是隔天的time2
int h1=16,m1=13,s1=20;
int h2=(24*1)+23,m2=02,s2=41;
计算过程:
if(s2<s1){
d2=d2+60;
m2--;
}
if(m2<m1){
m2=m2+60;
h2--;
}
res_s=s2-s1=21;
res_m=m2+60-m1=49;
res_h=h2+24-1-h1=30;
两个日期之间相差:30小时,49分,21秒
(也就是相差1天6小时49分钟21秒)
// 如果time2和time1隔了两天
int h1=16,m1=13,s1=20;
int h2=(24*2)+23,m2=02,s2=41;
计算过程:
if(s2<s1){
d2=d2+60;
m2--;
}
if(m2<m1){
m2=m2+60;
h2--;
}
res_s=s2-s1=21;
res_m=m2+60-m1=49;
res_h=h2+48-1-h1=6;
两个日期之间相差:54小时,49分,21秒
(也就是相差2天6小时49分钟21秒)