【发布时间】:2020-09-30 23:13:12
【问题描述】:
我正在使用 Laravel 开发一个基于订阅的应用程序。我想在订阅包 75 天后将用户的状态更改为 expire。我想从这 75 天中排除星期日。
假设用户的帐户今天已通过验证,并且他只能在 75 天内(不包括星期日)访问高级功能。 75 天后,用户需要重新订阅才能访问应用程序的高级功能。
然后我将设置一个中间件来检查用户的订阅是否过期。
我有两种情况要检查是否过期:
- 将到期日期列保存在
users表中。 - 根据
verified_at(日期时间)列验证每个用户的请求,并在用户订阅超过 75 天(不含星期日)时阻止高级访问。
我想使用Laravel Carbon 或任何其他替代库/功能来实现此目的。
从今天(6 月 11 日)起 75 天后是 8 月 25 日????♂️
从今天(6 月 11 日 - 不包括星期日)起 75 天后是 9 月 7 日????
【问题讨论】:
-
关于我的回答的消息?
-
@Berto99 感谢您的回答和解释,我在使用您提供的解决方案时发现了一些问题。考虑一下,我今天在 6 月 12 日星期五创建了一个帐户,即第 5 天,那么
$period_in_days将是 86,如果我在星期五之后的 86 天之后得到日期是 9 月 6 日,而如果我从星期五得到 75 天,不包括星期日,我将在 9 月 8 日获得。我已经使用 getcalc.com/75business-days-after-today.htm 进行了验证,请参阅我的答案,我如何解决这个问题
标签: laravel validation datetime php-carbon