C++ 使用运算符重载添加两个时间值
C++ Using operator overloading to add two time values
正如标题所说,我正在尝试使用运算符重载添加两个不同的时间值。例如:
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::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
任何人都可以给我一个解决这个问题的建议吗?
你知道std::chrono
吗?因为您可能正在重新发明轮子。
无论如何,你添加到时间上的是时差。如果你减去两次,你会得到一个时差。您不能将时间添加 5,但可以添加 5 分钟或 5 秒。
也就是说,如果你只有时间的非日期部分,你确实可以每 24 小时环绕一次。您已经知道如何每 60 分钟环绕一次;工作时间相同。(如果你确实有一个日计数器,你必须在小时数环绕时将其增加一个 - 就像分钟溢出到小时一样)。
相关文章:
- 我可以创建一个包含两个变量的 for 循环,但时间复杂度仍然为 O(n) 吗?
- 如何检查两个 std::向量在小于 O(n) 的时间复杂度内是否相等
- 计算两个代码块的时间复杂度
- 如何使用发送数据包所花费的时间计算两个节点之间的距离?
- Levenshtein 两个文件的距离花费了太多时间
- 以天C++为单位的两个时间戳之间的差异
- 如何找到两个日期之间的时间差异(以秒和纳秒为单位)?
- 为什么具有静态存储持续时间的同一内联变量在包含在 VS2017 编译的两个翻译单元中时会构造和销毁两次
- 与操作员比较两个计时时间点
- 如何获取两个时间点之间的时间
- 图问题:找出两个节点是否在每个节点的O(1)时间和O(2)存储中共享同一分支
- 添加两个时间值存储为数据库中的字符串
- 如何使用C ++在微秒和纳秒中获取两个时间间隔之间的差异
- 按升序输出两个时间值
- 两个时间之间经过的时间,格式为24小时hh:mm:ss
- 设计一个结构来存储时间和日期.写一个函数来计算两个时间之间的差(以分钟为单位)
- 如何比较格式的两个时间戳"Month Date hh:mm:ss"以检查 +ve 或 -ve 值
- 时间差-两个时间点之间的差,以毫秒为单位
- 在Windows下查找两个时间戳之间的CPU活动
- C++ 使用运算符重载添加两个时间值