- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个关于在 C++ 中管理日期和时间的问题。我的程序中有两个类(class) Plane 和 Flight。
我的飞机将包含以下数据:
string tailNumber;//Plane's unique trait
vector<vector<string>> planeSchedule;//2D string vector to contain plane's depature date and arrival date
我的 Flight 类将包含如下数据:
string tailNumber;//Plane's unique trait
string departureDate;
string arrivalDate;
在我的主类中,我将输入 departmentDate 和 arrivalDate 的值,格式为:“YYYY/MM/DD HH:MM”,例如:“2019/04/15 10:30”和“2019/04/16 9:30"
(我将使用 24 小时制,时间为 GMT)。
我的问题是如何将上面的两个字符串转换成合适的格式存储在我的planeSchedule中,这样我就可以避免planeSchedule中的时间冲突。
例如,如果下次我要添加起飞和到达日期介于以下时间之间的航类:2019/04/15 10:30"和 "2019/04/16 9:30"
例如:“2019/04/15 13:30”和“2019/04/16 7:30”
,我会收到类似“航类冲突,飞机无法飞行。 "
我的教授建议使用 unsigned long int 来存储时间,但我真的不知道从哪里开始解决这个问题。任何帮助/建议表示赞赏。
最佳答案
C++ 中有关日期和时间的首选位置是 <chrono>
.其中一些自 C++11 以来就一直存在,其中一些我们将在 C++20 中看到。它与 <ctime>
中的 C 风格日期和时间实用程序结合使用,这甚至可能足以满足您的目的。
尝试将日期/时间处理为整数或字符串,从输入中解析它们,比较并将它们转换为字符串以进行输出,将有效地导致您重新实现这些 header 中已有的部分(又名“重新发明轮子” ).
关于c++ - 如何在 C++ 中处理时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55448281/
我是一名优秀的程序员,十分优秀!