1

我需要知道如何将 2 个“小时”添加为整数?它是 24 小时制

int add2Hours(int _time1,int _time2)
{ 
} 

示例:13:45 是:(hhmm)1345

1345 + 30 返回 1415

4

6 回答 6

3

你的时间是hhmm格式,分开hhmm部分。然后分别添加零件。

int add2hours(int _time1, int _time2)
{
    int hh1, hh2, mm1, mm2;
    int rHH,rMM, res;
    hh1 = _time1/100;
    hh2 = _time2/100;
    mm1 = _time1 % 100;
    mm2 = _time2 % 100;
    rMM = mm1 + mm2;
    rHH = rMM/60;
    rMM = rMM % 60;
    rHH = rHH + hh1 + hh2;
    res = rHH*100 + rMM;
    return res;
}

注意: 这不会处理任何超过 24 小时的时间。例如,如果输入是 2345 和 30,则输出将是 2415 而不是 15(0015)。如果需要,您必须处理它。

于 2013-05-22T06:46:46.540 回答
2

如果添加时间的函数声明如下,

int add2Hours(int _time1,int _time2);

传递时间的语法如下,

hhmm (For example 2230)

然后你可以添加时间如下,

temp1= _time1;
temp2= _time2;

m1 = temp1 % 100;
m2 = temp2 % 100;

h1 = temp1 / 100;
h2 = temp2 / 100;

m3 = m1 + m2;

m3 > 59 ? m3=m3%60, h3=1 : h3=0;

h3 = h1 + h2 + h3;

h3 > 23 ? h3=h3%24, d=1 : d=0; /* If more than 23 hours */

printf("\nThe time is %d-%d-%d",d,h3,m3);   
于 2013-05-22T06:52:17.713 回答
1

首先将时间转换为公共域(秒/毫秒...)。然后添加并将结果转换为所需的格式。

于 2013-05-22T06:43:27.690 回答
0
  • 将小时数加在一起。13 + 0。
  • 用时间/100*100 减去时间,得到每个时间的分钟数。请注意,C 中的整数算术会截断。例子:

m = 时间 - (时间/100*100)

米 = 1345 - (1345/100*100)

米 = 1345 - (13*100)

米 = 1345 - 1300

米 = 45

  • 将分钟加在一起。45 + 30 = 75。
  • 将“分钟总和/60”小时添加到结果中。即 75/60 = 1。
  • 然后将“分钟总和模 60”分钟添加到相同的结果中。即 75%60 = 15。
于 2013-05-22T06:45:55.480 回答
0

谢谢大家...这是我的功能!

int Add2Times (int _time1, int _time2)
{
    int hour = _time1 / 100 + _time2 / 100;
    int min = _time1 % 100 + _time2 % 100;

    hour += min / 60;
    min = min % 60;


    hour = hour % 24;

    return hour * 100 + min;
}
于 2013-05-24T09:26:43.470 回答
0

这个怎么样?

int add2Hours(int _time1,int _time2)
{
    int minutes = (_time1%100 + _time2%100)
    int time = (((minutes/60)+(_time1/100 + _time2/100))%24)*100 + minutes%60;
    return time;
}
于 2013-05-22T08:22:36.230 回答