一个人每月在平台上获得一个积分。因此,如果他加入7月3日,那么8月3日他将获得一个额外的积分。
开始日期在数据库中设置为date
字段。
考虑这个问题时,如果我只是在日常cron中做这样的事情,似乎在不同的情况下我可能会错过这一点:
$startDate = new Carbon($startDateFromDb); $today = new Carbon( date("Y-m-d")); if ($startDate->day === $today->day) { //Add point! }
例如,此人从11月30日开始。因此,在12月30日,他应该获得+1分(现在共有1分)。 1月30日,他应该获得+1分(现在共有2分)。
问题可能在2月,因为2月没有30天,所以
$startDate->day === $today->day
这个月永远不会为真。
[如果某人从31日开始,这也将发生在30天的月份中。
Carbon是否有某种方法可以让我验证这一点,或者我应该仅用当前的每月月份/天数和我自己的逻辑做一个长的if / else?
谢谢!
一个人每月在平台上获得一个积分。因此,如果他加入7月3日,那么8月3日他将获得一个额外的积分。开始日期在数据库中设置为日期字段。当...
选项1