gpt4 book ai didi

php - (Laravel)根据开始日期检查今天是否在两个日期之间

转载 作者:可可西里 更新时间:2023-11-01 00:28:59 26 4
gpt4 key购买 nike

我有一个付款表,用于跟踪某些付款。假设我有一个开始日期,可以是任何日期。必须每月付款。

例如,我想跟踪付款是否在需要付款前 5 天到期。这将每天检查一次。为此,我使用以下方法:

public function isDue()
{
for ($i = 0; $i <= $this->months; $i++) {

if (Carbon::now()->format('Y-m-d') >= Carbon::createFromFormat('Y-m-d', $this->start)->addMonthsNoOverflow($i)->subDays(5)->format('Y-m-d')
&&
Carbon::now()->format('Y-m-d') <= Carbon::createFromFormat('Y-m-d', $this->start)->addMonthsNoOverflow($i)->format('Y-m-d')
) {
return true;
}
}
return false;
}

$this->start 是开始日期。 $this->months 表示总共需要支付多少个月的款项。因此,使用 for 循环,根据开始日期检查当前日期。

我的问题基本上是,既然我想做这个犯规证明,有没有好的方法来完成这个,或者像 for 循环之类的东西会起作用吗?上面的代码对我来说感觉很草率,我担心它不会产生正确的结果。

最佳答案

Carbon 还有一些其他的比较辅助方法,包括您可以使用的 isToday():

public function isDue()
{
for ($i = 0; $i < $this->months; $i++) {
if ($this->start_date->addMonthsNoOverflow($i)->subDays(5)->isToday()) {
return true;
}
}

return false;
}

这将像以前一样为每个月创建一个循环,并检查调整后的日期是否为今天。如果是,该方法立即返回 true

关于php - (Laravel)根据开始日期检查今天是否在两个日期之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48081110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com