如何使用碳改变数年?

时间:2018-05-17 17:22:25

标签: php laravel php-carbon

我刚开始使用Carbon,我能够让程序在计算给定日期的年份。但现在我想让格式计算几个月,这是我的代码:

public function getAgeAttribute() {   
    return Carbon::parse($this->attributes['emp_birth_date'])->age;
}

我尝试使用代码:

->format('months');

但是出了个错误我不知道它在哪里工作。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

没有一个内置的方法可以在几个月内获得年龄,但解决起来应该很简单:

$ageInYears = \Carbon\Carbon::parse($birthday)->age;
$ageInMonths = $ageInYears * 12;

这并不完美,因为年龄不会以小数形式返回,因此10年可能在120到131个月之间。

如果您想要更准确的内容,可以使用diffInMonths,如下所示:

$ageInMonths = \Carbon\Carbon::now()->diffInMonths(\Carbon\Carbon::parse($birthday));

此外,->format("months");无效,因为"months"不是有效的PHP日期格式。此外,->format("m")(这是正确的值)不会对->age起作用,因为->age会返回int,而不是Carbon日期

有关所有可用的PHP日期格式选项,请参阅http://php.net/manual/en/function.date.php