正如标题所说,我试图使用运算符重载添加两个不同的时间值。例如:
r1=10:00
r2=15:50
r3=18:20
r4=r1+r2=25:50
r5=r1+r3=28:20
r6=r2+r3=34:10
我设法用这个名为' Clock'
的课程的这一部分做到了这一点。Clock Clock::operator+(int m){
int sum;
sum=hour+m+(minu+m)/60;
sum=(minu+m)%60;
return sum;
}
但是,我想要的是让时间成为24小时格式。 所以而不是:
r4=r1+r2= 25:50
r5=r1+r3= 28:20
r6=r2+r3= 34:10
这将是:
r4=r1+r2= 01:50
r5=r1+r3= 04:20
r6=r2+r3= 10:10
有人能告诉我一个解决这个问题的建议吗?
答案 0 :(得分:1)
您知道std::chrono
?因为你可能正在重新发明轮子。
无论如何,你添加到时间的是时差。如果你减去两次,你会得到一个时差。您不能添加5次,但可以添加5分钟或5秒。
那就是说,如果你只有一段时间的非日期部分,你确实可以每24小时环绕一次。你已经知道如何每60分钟换一次;小时工作相同。 (如果你确实有一个日程计数器,那么每当小时数被缠绕时你就必须将它增加一个 - 再次就像几分钟就会过了几个小时)。