首页 > 解决方案 > 以整数形式查找月份的差异

问题描述

我有两个向量代表月份,即 1 为 1 月 2 日为 2 月,等等......我们如何找到月份之间的差异而不得到负值?

例子

日期1 = [1, 3, 1];

日期2 = [12, 1, 0];

预期:日期 2 - 日期 1 = [11、10、11]

实际:[11,-2,-1]

标签: c++

解决方案


如果你有两个月ab, 并且b在 之后a, 并且b可能在下一年,你可以使用类似的东西:

diff = (b + 12 - a) % 12;

十二的加法b确保它大于a(有效地将它移到下一年)并且使用模确保十二的加法不会将它移到两年之后a


推荐阅读