以2017-02-28
这个日期为时间节点,往后续费2个月,代码如下
// print 2017-04-28
echo date('Y-m-d', strtotime('+2 month', strtotime('2017-2-28')));
得到的结果少2天,那如果我人为将2月份续费的用户统一补2天时间,那在续费1年的正常情况下,又多出2天
// print 2018-02-28
echo date('Y-m-d', strtotime('+1 year', strtotime('2017-2-28')));
那么请问如何做到合理计算续费时间呢?
这个问题是需求问题,不应该由程序员来解决。
制订业务需求的过程中,就必须明确,【时间】这个概念。不过大部分公平的包月计时原则,都是以30天作为一个月、365天作为一年来计算。
因为12 * 30 = 360,所以按月充值的用户,一年就少了5天时间;而按年充值的用户,一年就多获取5天时间。这些费用计算方法应该在合同里明示。