c++ - 以整数形式查找月份的差异
问题描述
我有两个向量代表月份,即 1 为 1 月 2 日为 2 月,等等......我们如何找到月份之间的差异而不得到负值?
例子
日期1 = [1, 3, 1];
日期2 = [12, 1, 0];
预期:日期 2 - 日期 1 = [11、10、11]
实际:[11,-2,-1]
解决方案
如果你有两个月a
和b
, 并且b
在 之后a
, 并且b
可能在下一年,你可以使用类似的东西:
diff = (b + 12 - a) % 12;
十二的加法b
确保它大于a
(有效地将它移到下一年)并且使用模确保十二的加法不会将它移到两年之后a
。
推荐阅读
- java - Java Eclipse中的Serializer()方法“未定义构造函数序列化器()”
- php - Eloquent:复合 WhereIn 条件
- c++ - 如何安排操作在未来时间运行
- c++ - 有没有办法使用 glDrawPixels 渲染单通道灰度图像?
- android-studio - Android Studio 3.5 中的 Gradle `project` 变量
- c - 在 C 中的循环中读取字符串时从 sscanf 获取偏移量
- eclipse - 从 Eclipse 工作区中删除文件夹
- elasticsearch - 对 SQL 的弹性查询
- java - 为什么我得到@WebServlet 注释但没有实现javax.servlet.http.HttpServlet 接口。使用 vaadinCDI Servlet 时出现错误
- php - 通过 Woocommerce 管理订单中的自定义操作按钮使用订单项目元数据