请问如何合理计算续费时间
以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')));
那么请问如何做到合理计算续费时间呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这个问题是需求问题,不应该由程序员来解决。
制订业务需求的过程中,就必须明确,【时间】这个概念。不过大部分公平的包月计时原则,都是以30天作为一个月、365天作为一年来计算。
因为12 * 30 = 360,所以按月充值的用户,一年就少了5天时间;而按年充值的用户,一年就多获取5天时间。这些费用计算方法应该在合同里明示。
这样在单独开通12个月时有360天,把12月看作按年续费,少的那几天就当作赠送天数
我说下我个人想法,按照离月末的天数计算,若有更好的方法请补充答案,谢谢:
这种需求最好是跟产品经理沟通。有些是按自然月算;有些按30天一个月算;还有些按31天算一个月。