我正在寻找数学公式来添加和减去日期到/从日期。我只需要知道年份和月份,因此可以忽略天数。
这是我想出的添加月份的伪代码:
OldYear = 2012 // current year
OldMonth = 3 // current month
AddMonths = 0 // the months to be added
FooBar = OldMonth + AddMonths
NewYear = OldYear + FooBar / 12
NewMonth = FooBar % 12
IF NewMonth = 0
NewYear = NewYear - 1
NewMonth = 12
END IF
// set AddMonths to 0 and the result will be 2012.03
// set AddMonths to 6 and the result will be 2012.09
// set AddMonths to 9 and the result will be 2012.12
// set AddMonths to 11 and the result will be 2013.02
// set AddMonths to 23 and the result will be 2014.02
// set AddMonths to 38 and the result will be 2015.05
它真的很好用,但有更好的方法吗?我真的不喜欢 IF NewMonth = 0 重新调整的需要。
但我的实际问题是,我想不出一个对应的公式来减去几个月。我尝试了各种事情,但一切都失败了,这让我发疯。所以任何帮助将不胜感激!