c++ - 使用模数找出2次之间的差异?
问题描述
我需要编写一个程序,以 24 小时格式告诉我 2 次之间的差异。
所以如果我输入 22:30,它必须知道 22 = 小时和 30 = 分钟。
此外,如果我输入另一个时间(例如 23:50),它需要告诉我时差是 1 小时 20 分钟。
我一直在玩它,但我真的不明白模数是如何工作的。
我试着写:
到达时间 = 小时/100
hours % 100 但我知道这没有任何意义。
解决方案
不使用模数,但您也可以使用<chrono>
库找到 2 次之间的差异
#include <chrono>
#include <iostream>
int main(){
//using namespace std::literals::chrono_literals;
using namespace std::chrono;
//auto d = hh_mm_ss{(23h+50min)-(22h+30min)};
auto d = hh_mm_ss{ (hours{23}+minutes{50}) - (hours{22}+minutes{30}) };
std::cout << (d.is_negative() ? "negative " : "")
<< d.hours().count() << " hours "
<< d.minutes().count() << " minutes";
}
注意:std::chrono::hh_mm_ss
要求(此处c++20
可能实现)
推荐阅读
- java - 如何从 Java 8 转换为 Java 7
- json - 通过特定键将占位符添加到所有对象中
- python - 如何以增量方式构建 DataFrame
- python - 如何更改散点图中的颜色?
- authentication - 为什么令牌开头需要承载字
- android - 通过 uri / 通过它包含的数据获取 ListView 项目位置
- c# - 课堂上的当前用户
- c++ - C++ 完美转发:如何避免悬空引用
- python-3.x - 带有 Pandas 的 Flask App 在开发模式或 gunicorn 中的工作方式不同
- firebase - 移动应用程序 - 在身份验证中在 Firebase 项目之间切换的最佳方法